Files
dmd/dmd.changes

1442 lines
64 KiB
Plaintext
Raw Permalink Normal View History

-------------------------------------------------------------------
Tue Jan 13 11:30:50 UTC 2026 - Andrea Manzini <andrea.manzini@suse.com>
- use embedded rdmd.d instead of dowloading from URL
-------------------------------------------------------------------
Fri Jan 9 15:56:02 UTC 2026 - Andrea Manzini <andrea.manzini@suse.com>
- Update to version 2.112.0
* Compiler changes
+ The compiler now lowers associative array operations to a templated
implementation in druntime
+ Keywords auto and ref must be adjacent for auto ref return
+ Bitfields Are Now Incorporated
+ An error is now issued for dangling else statements
+ The compiler now accepts -extern-std=c++23
+ External import path switch
+ C files can now include a module statement
+ Implicit integer conversions in int op= float assignments has been
deprecated
* Runtime changes
+ Templatized _d_arraysetlengthT to remove TypeInfo dependency
+ Templatize _d_arrayappendcTX runtime hook
+ Templatize _d_arraysetcapacity runtime hook
+ core.int128: Add mul and udivmod overloads for 64-bit operands
+ Fixed generated binaries crashing on macOS 15.4
+ C Macro translations in druntime have been translated to templates
* Library changes
+ Add lazyCache to std.algorithm.iteration
+ getrandom() backwards compatibility shim
+ Add an internal multi-backend entropy system
+ std.uni has been upgraded from Unicode 16.0.0 to 17.0.0
+ Add uuid v7 support to std.uuid
+ Add writeText, writeWText, and writeDText to std.conv
- Added direct link URL for rdmd.d
Accepting request 1267085 from home:amanzini:branches:devel:languages:D - Update to version 2.111.0 * Compiler changes + Storage classes ref and auto ref can now be applied to local, static, extern, and global variables + Keywords auto and ref must be adjacent + The align attribute now allows specifying default explicitly + Remove delete as a keyword + Case fallthough for multivalued cases is an error now + An error is now given for constructors when a field's destructor has stricter attributes + Initializing a field with itself has been deprecated + An error is now given for subtracting pointers of different types + An error is now issued for in/out contracts of nothrow functions that may throw + Typesafe variadic class parameters have been deprecated + Integers in debug or version statements have been removed from the language + Many error messages have changed + The compiler now accepts -extern-std=c++23 + Build time profiling has been added to DMD + New traits getBitfieldOffset and getBitfieldWidth for built-in bitfields + Using the compiler flag -i will now properly pick up C source files + A pragma for ImportC allows to set nothrow, @nogc or pure + Mixin templates can now use assignment syntax + Object file extensions .o and .obj are now accepted on all platforms + Objective-C selectors are now automatically generated when not specified with @selector. + New compiler switch -oq for DMD + Added Placement New Expression + Postfix type qualifier method attributes for -H and -D OBS-URL: https://build.opensuse.org/request/show/1267085 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=111
2025-04-05 13:15:05 +00:00
-------------------------------------------------------------------
Fri Apr 4 09:29:24 UTC 2025 - Andrea Manzini <andrea.manzini@suse.com>
- Update to version 2.111.0
* Compiler changes
+ Storage classes ref and auto ref can now be applied to local, static,
extern, and global variables
+ Keywords auto and ref must be adjacent
+ The align attribute now allows specifying default explicitly
+ Remove delete as a keyword
+ Case fallthough for multivalued cases is an error now
+ An error is now given for constructors when a field's destructor has
stricter attributes
+ Initializing a field with itself has been deprecated
+ An error is now given for subtracting pointers of different types
+ An error is now issued for in/out contracts of nothrow functions that may
throw
+ Typesafe variadic class parameters have been deprecated
+ Integers in debug or version statements have been removed from the
language
+ Many error messages have changed
+ The compiler now accepts -extern-std=c++23
+ Build time profiling has been added to DMD
+ New traits getBitfieldOffset and getBitfieldWidth for built-in bitfields
+ Using the compiler flag -i will now properly pick up C source files
+ A pragma for ImportC allows to set nothrow, @nogc or pure
+ Mixin templates can now use assignment syntax
+ Object file extensions .o and .obj are now accepted on all platforms
+ Objective-C selectors are now automatically generated when not specified
with @selector.
+ New compiler switch -oq for DMD
+ Added Placement New Expression
+ Postfix type qualifier method attributes for -H and -D
+ The folder samples has been removed from DMD installations
+ New keyword __rvalue
+ Add -preview=safer switch for safety checking on unattributed functions
+ Shortened method syntax can now be used in constructors
* Runtime changes
+ Add Windows BCrypt bindings under core.sys.windows.bcrypt
+ Remove criticalRegionLock
+ Adds expect, likely, unlikely, and trap to core.builtins
+ New segfault handler showing backtraces for null access / call stack
overflow on linux
* Library changes
+ Added std.conv.bitCast
+ Extend the functionality of formattedRead to permit a std.file.slurp
like execution.
+ Added fromHexString and fromHexStringAsRange functions to std.digest.
+ ODBC Bindings in etc.c.odbc have been updated to ODBC 4.0.
+ Added popGrapheme function to std.uni.
+ Added readfln and File.readfln to std.stdio
+ Added the SharedAllocatorList, as the thread-safe version of the regular
AllocatorList.
+ New procedural API for std.sumtype
+ std.uni has been upgraded from Unicode 15.1.0 to 16.0.0
-------------------------------------------------------------------
Thu Mar 6 16:47:30 UTC 2025 - Andrea Manzini <andrea.manzini@suse.com>
- Update to version 2.110.0
* Copying from const(void)[] to void[] is disallowed with -preview=fixImmutableConv
* Import expressions are now treated as hex strings
* New trait isCOMClass to detect if a type is a COM class
* bool values other than 0 or 1 are not @safe
* dub.selections.json files are now looked up in parent directories too
for details see https://dlang.org/changelog/2.110.0.html#bugfix-list
-------------------------------------------------------------------
Wed Jul 3 06:44:10 UTC 2024 - Andrea Manzini <andrea.manzini@suse.com>
- Update to version 2.109.1
* Compiler change: bool values other than 0 or 1 are not @safe
* fixed Bugzilla 24602: Internal compiler error: failed to detect static
initialization of associative array
* fixed Bugzilla 24566: condition that starts with runtime value and uses
compile time array does not short circuit
* Bugzilla 24596: Rebindable2 corrupts objects
- suggest to install also phobos-devel-static (see bsc#1219521)
-------------------------------------------------------------------
Sun Jun 2 13:54:29 UTC 2024 - Andrea Manzini <andrea.manzini@suse.com>
- Update to version 2.109.0
* Compiler changes
+ [next edition] Aliasing a member of a type instance is now an error
+ Add Bitfield Introspection Capability
+ Added __ctfeWrite to write messages from CTFE
+ Deprecation warnings are now also limited by -verrors
+ dtoh generates signatures for extern(Windows) and extern(System) functions.
+ foreach on a dynamic array can have an index type smaller than size_t
+ foreach_reverse on a delegate is now an error
+ Expansion of identifier tables to allow new characters to match C23 have been
added along with CLI configurability
+ ImportC has improved Unicode support
+ Missing symbol errors are made less cryptic
* Runtime changes
+ Add module core.sys.linux.sys.mount.
+ Remove all collectNoStack functions and API from druntime.
+ Mark Thread.sleep as @trusted
* Library changes
+ Add std.process.Config.preExecDelegate
-------------------------------------------------------------------
Mon May 6 07:52:44 UTC 2024 - Andrea Manzini <andrea.manzini@suse.com>
- Update to version 2.108.1
* DMD Compiler regression fixes
+ Bugzilla 23657: [REG2.101] Incorrect error escape reference to stack allocated value
+ Bugzilla 24436: a array be overwritten when other array be written
+ Bugzilla 24479: [REG2.104] Error on getAttributes on getOverloads of templates
+ Bugzilla 24505: [REG2.108] ImportC: Function-like macros (newly translated to templates) may collide with regular symbols
+ Bugzilla 24519: compiler segfault on default argument with slice operator []
* DMD Compiler bug fixes
+ Bugzilla 24495: ImportC: Struct initialization expression fails to initialize field
+ Bugzilla 24509: importC cannot handle _stdcall Function Calling Convention with single heading underscore
+ Bugzilla 24511: __stdcall functions from C are extern(C) in D.
* Phobos regression fixes
+ Bugzilla 24481: retro no longer works with types that support assignment but not moving
* Druntime regression fixes
+ Bugzilla 24498: Multidimensional array not scanned by GC
-------------------------------------------------------------------
Tue Apr 2 15:34:52 UTC 2024 - Andrea Manzini <andrea.manzini@suse.com>
- Update to version 2.108.0
* Compiler changes
- Added .nameSig field to TypeInfo_Class in object.d
- Keywords like __FILE__ are always evaluated at the call site
- Hex strings now convert to integer arrays
- Add support for Interpolated Expression Sequences
- Named arguments for functions have been implemented and documented
* Library changes
- isForwardRange, isBidirectionalRange, and isRandomAccessRange now take an optional element type
- std.uni has been upgraded from Unicode 15.0.0 to 15.1.0
-------------------------------------------------------------------
Sat Mar 16 15:57:55 UTC 2024 - Andrea Manzini <andrea.manzini@suse.com>
- Added rdmd run/build tool ( https://dlang.org/rdmd.html )
Accepting request 1157298 from home:amanzini:branches:devel:languages:D - Update to version 2.107.1 * DMD Compiler regression fixes - Bugzilla 20802: [REG2.088.0] Link failure with writefln - Bugzilla 24371: [REG 2.104] String array concatenation does not respect operator precedence * DMD Compiler bug fixes - Bugzilla 20297: ld: warning: no platform load command found for macOS - Bugzilla 21047: Linker error: GOT load reloc does not point to a movq instruction - Bugzilla 22556: Invalid GOT load reloc with -O on MacOS - Bugzilla 23517: dmd with -g flag fails to link on macOS with unaligned pointer - Bugzilla 24137: Link failure on macOS with symbol count from symbol table and dynamic symbol table differ - Bugzilla 24365: ICE when printing 'showCtfeContext' error - Bugzilla 24370: static array values in static AA initialise to dynamic arrays - Bugzilla 24399: Link failure on MacOS with address=0x0 points to section(2) with no content in config_a68_4c3.o - Bugzilla 24409: DMD crash for CTFE in stompOverlappedFields - Bugzilla 24422: ImportC: ICE: Segfault in cparseFunctionDefinition - Update to version 2.107.0 * Compiler changes - A string literal as an assert condition is deprecated - Unrecognized pragmas are no longer an error, but instead simply ignored - Added @standalone for module constructors - _d_newarray{mTX,miTX,OpT} are converted to a single template: _d_newarraymTX * Runtime changes - Using an invalid MemoryOrder for core.atomic operations are now rejected at compile time * Library changes - isForwardRange now takes an optional element type. - Update to version 2.106.1 * DMD Compiler regression fixes - Bugzilla 22212: dmd version has -dirty suffix on windows * DMD Compiler bug fixes - Bugzilla 22483: DMD generates invalid string sections that work by coincidence OBS-URL: https://build.opensuse.org/request/show/1157298 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=97
2024-03-12 17:09:29 +00:00
-------------------------------------------------------------------
Tue Mar 12 16:41:25 UTC 2024 - Andrea Manzini <andrea.manzini@suse.com>
- Update to version 2.107.1
* DMD Compiler regression fixes
- Bugzilla 20802: [REG2.088.0] Link failure with writefln
- Bugzilla 24371: [REG 2.104] String array concatenation does not respect operator precedence
* DMD Compiler bug fixes
- Bugzilla 20297: ld: warning: no platform load command found for macOS
- Bugzilla 21047: Linker error: GOT load reloc does not point to a movq instruction
- Bugzilla 22556: Invalid GOT load reloc with -O on MacOS
- Bugzilla 23517: dmd with -g flag fails to link on macOS with unaligned pointer
- Bugzilla 24137: Link failure on macOS with symbol count from symbol table and dynamic symbol table differ
- Bugzilla 24365: ICE when printing 'showCtfeContext' error
- Bugzilla 24370: static array values in static AA initialise to dynamic arrays
- Bugzilla 24399: Link failure on MacOS with address=0x0 points to section(2) with no content in config_a68_4c3.o
- Bugzilla 24409: DMD crash for CTFE in stompOverlappedFields
- Bugzilla 24422: ImportC: ICE: Segfault in cparseFunctionDefinition
- Update to version 2.107.0
* Compiler changes
- A string literal as an assert condition is deprecated
- Unrecognized pragmas are no longer an error, but instead simply ignored
- Added @standalone for module constructors
- _d_newarray{mTX,miTX,OpT} are converted to a single template: _d_newarraymTX
* Runtime changes
- Using an invalid MemoryOrder for core.atomic operations are now rejected at compile time
* Library changes
- isForwardRange now takes an optional element type.
- Update to version 2.106.1
* DMD Compiler regression fixes
- Bugzilla 22212: dmd version has -dirty suffix on windows
* DMD Compiler bug fixes
- Bugzilla 22483: DMD generates invalid string sections that work by coincidence
- Bugzilla 24281: Segfault with missing field after named argument
- Bugzilla 24283: [SIMD][CODEGEN] Bad codegen with and not + AVX2 registers
- Update to version 2.106.0
* 2.106.0 comes with 17 major changes and 65 fixed Bugzilla issues. For
full changelog see https://dlang.org/changelog/2.106.0.html
Accepting request 1123006 from home:amanzini:branches:devel:languages:D - Update to versione 2.105.3 * DMD Compiler regression fixes: - Bugzilla 24171: [REG 2.100] Segfault compiling an empty ddoc file - Bugzilla 24188: ICE (Illegal instruction) with missing imported symbol * DMD Compiler bug fixes: - Bugzilla 23686: template instance reused with default alias arg - Bugzilla 23865: duplicate alias not detected - Changes from version 2.105.2: * DMD Compiler regression fixes - Bugzilla 24109: [REG2.103] 'need this' when invoking outer method from inner method - Bugzilla 24110: [REG2.104] Array comparison lowering apparently not handled properly in __traits(compiles) - Bugzilla 24118: ICE / regression from 2.103.1 - segfault on CTFE only code in 2.104.2 and 2.105.0 - Bugzilla 24144: [REG2.105] Silent file name index overflow * DMD Compiler bug fixes - Bugzilla 24139: 'this' corruption in extern(C++) dtor when destructing via TypeInfo_Struct * Phobos bug fixes - Bugzilla 24140: Int128.opBinary [+-*/%&|^] with negative long arguments gives wrong answers - Changes from version 2.105.1: * A function with enum storage class is now deprecated, not an error * for detail and bugfixes see https://dlang.org/changelog/2.105.1.html#bugfix-list - Changes from version 2.105.0: * Compiler changes - Assignment-style syntax is now allowed for alias this - Catch clause must take only const or mutable exceptions - Functions can no longer have enum storage class - Overloading extern(C) functions is now an error - Deprecation phase ended for access to private method when overloaded with public method. - Added predefined version identifier VisionOS * Runtime changes - Linux input header translations were added to druntime OBS-URL: https://build.opensuse.org/request/show/1123006 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=95
2023-11-03 08:16:42 +00:00
-------------------------------------------------------------------
Fri Nov 3 07:20:28 UTC 2023 - Andrea Manzini <andrea.manzini@suse.com>
- Update to versione 2.105.3
* DMD Compiler regression fixes:
- Bugzilla 24171: [REG 2.100] Segfault compiling an empty ddoc file
- Bugzilla 24188: ICE (Illegal instruction) with missing imported symbol
* DMD Compiler bug fixes:
- Bugzilla 23686: template instance reused with default alias arg
- Bugzilla 23865: duplicate alias not detected
- Changes from version 2.105.2:
* DMD Compiler regression fixes
- Bugzilla 24109: [REG2.103] 'need this' when invoking outer method from inner method
- Bugzilla 24110: [REG2.104] Array comparison lowering apparently not handled properly in __traits(compiles)
- Bugzilla 24118: ICE / regression from 2.103.1 - segfault on CTFE only code in 2.104.2 and 2.105.0
- Bugzilla 24144: [REG2.105] Silent file name index overflow
* DMD Compiler bug fixes
- Bugzilla 24139: 'this' corruption in extern(C++) dtor when destructing via TypeInfo_Struct
* Phobos bug fixes
- Bugzilla 24140: Int128.opBinary [+-*/%&|^] with negative long arguments gives wrong answers
- Changes from version 2.105.1:
* A function with enum storage class is now deprecated, not an error
* for detail and bugfixes see https://dlang.org/changelog/2.105.1.html#bugfix-list
- Changes from version 2.105.0:
* Compiler changes
- Assignment-style syntax is now allowed for alias this
- Catch clause must take only const or mutable exceptions
- Functions can no longer have enum storage class
- Overloading extern(C) functions is now an error
- Deprecation phase ended for access to private method when overloaded with public method.
- Added predefined version identifier VisionOS
* Runtime changes
- Linux input header translations were added to druntime
- Integration with the Valgrind memcheck tool has been added to the garbage collector
* Library changes
- Better static assert messages for std.algorithm.iteration.permutations
- Added std.system.instructionSetArchitecture and std.system.ISA
* Dub changes
- Exposed --d-versions CLI flag
* for details see https://dlang.org/changelog/2.105.0.html#bugfix-list
Accepting request 1099790 from home:elimat:branches:devel:languages:D - Update to version 2.104.2 * DMD Compiler regression fixes: - [REG2.102] Cannot use traits(getAttributes) with overloaded template - ImportC: ICE on nested C initializer 2 * DMD Compiler bug fixes: - Segmentation fault on mixin template + using unknown type - "alias this" not properly dereferenced when the object being looked up is a field of a type - error: instantiated from here: maxElement!("a.a", A[]) * Druntime regression fixes: - "Warning: cannot inline function" in core.lifetime - Changes from version 2.204.1 * DMD Compiler regression fixes: - [REG2.101.0] Appending deprecated structs in deprecated function causes deprecation message - [REG 2.103.0] ICE: dip1021 memory corruption - ICE on failed alias this attempt on pointer expression - [REG 2.103.0] address of a __traits(getOverloads) item is not converted to a delegate anymore * DMD Compiler bug fixes: - Segfault for function contract -preview=dip1021 - ICE: Invalid array access for invalid interface definition - ImportC: ICE on nested C initializer - segfault when printing scope inference failure - ICE: dip1021 asserts on typeof(null) parameter * Phobos regression fixes: - std.range.slide fails in dmd-2.104.0 - std.algorithm.maxElement no longer works with array of BigInt - Changes from version 2.104.0 * Compiler changes: - Better error message when attribute inference fails down the call stack - Using ; as an empty statement has been turned into an error - Using in parameters with non extern(D)/extern(C++) functions is deprecated - in ref on parameters has been deprecated in favor of -preview=in - Throwing qualified objects is now deprecated - User Defined Attributes now parse Template Arguments * Library changes: - Better static assert messages for std.algorithm.comparison.clamp - std.typecons.Rebindable now supports all types * Tools changes: - rdmd supports -shared * Dub changes: - Add new properties 'cSourcePaths' and 'cImportPaths' to SDL/JSON - The way packages are stored internally has changed - Changes from version 2.103.1 * Compiler changes: - Deprecate invalid special token sequences inside token strings * DMD Compiler regression fixes: - Header generation wrongfully outputs constructor bodies - Typing invalid mnemonic in asm{} block segfault * DMD Compiler bug fixes: - Segmentation fault in CppMangleVisitor.headOfType - Assertion failure in CppMangleVisitor.template_args - Segfault for malformed static if in imported template * Druntime regression fixes: - [REG 2.103] Throwing while in a deep callstack causes memory corruption OBS-URL: https://build.opensuse.org/request/show/1099790 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=93
2023-07-20 20:31:19 +00:00
-------------------------------------------------------------------
Thu Jul 20 20:05:43 UTC 2023 - Matthias Eliasson <elimat@opensuse.org>
- Update to version 2.104.2
* DMD Compiler regression fixes:
- [REG2.102] Cannot use traits(getAttributes) with overloaded template
- ImportC: ICE on nested C initializer 2
* DMD Compiler bug fixes:
- Segmentation fault on mixin template + using unknown type
- "alias this" not properly dereferenced when the object being looked up is a field of a type
- error: instantiated from here: maxElement!("a.a", A[])
* Druntime regression fixes:
- "Warning: cannot inline function" in core.lifetime
- Changes from version 2.204.1
* DMD Compiler regression fixes:
- [REG2.101.0] Appending deprecated structs in deprecated function causes deprecation message
- [REG 2.103.0] ICE: dip1021 memory corruption
- ICE on failed alias this attempt on pointer expression
- [REG 2.103.0] address of a __traits(getOverloads) item is not converted to a delegate anymore
* DMD Compiler bug fixes:
- Segfault for function contract -preview=dip1021
- ICE: Invalid array access for invalid interface definition
- ImportC: ICE on nested C initializer
- segfault when printing scope inference failure
- ICE: dip1021 asserts on typeof(null) parameter
* Phobos regression fixes:
- std.range.slide fails in dmd-2.104.0
- std.algorithm.maxElement no longer works with array of BigInt
- Changes from version 2.104.0
* Compiler changes:
- Better error message when attribute inference fails down the call stack
- Using ; as an empty statement has been turned into an error
- Using in parameters with non extern(D)/extern(C++) functions is deprecated
- in ref on parameters has been deprecated in favor of -preview=in
- Throwing qualified objects is now deprecated
- User Defined Attributes now parse Template Arguments
* Library changes:
- Better static assert messages for std.algorithm.comparison.clamp
- std.typecons.Rebindable now supports all types
* Tools changes:
- rdmd supports -shared
* Dub changes:
- Add new properties 'cSourcePaths' and 'cImportPaths' to SDL/JSON
- The way packages are stored internally has changed
- Changes from version 2.103.1
* Compiler changes:
- Deprecate invalid special token sequences inside token strings
* DMD Compiler regression fixes:
- Header generation wrongfully outputs constructor bodies
- Typing invalid mnemonic in asm{} block segfault
* DMD Compiler bug fixes:
- Segmentation fault in CppMangleVisitor.headOfType
- Assertion failure in CppMangleVisitor.template_args
- Segfault for malformed static if in imported template
* Druntime regression fixes:
- [REG 2.103] Throwing while in a deep callstack causes memory corruption
-------------------------------------------------------------------
Sun Apr 16 17:15:51 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.103.0
* Compiler changes:
- Add __check(assign-expression) to ImportC
- Alias this for classes is deprecated
- -preview=dip25 has been enabled by default
- export int a; now generates dllexport instead of dllimport
- Deprecate traits(isVirtualFunction) and
traits(getVirtualFunctions)
* Library changes:
- Unicode grapheme walking updated to conform to Unicode
version 15
- Better static assert messages for
std.algorithm.iteration.joiner
- Better static assert messages for std.algorithm.sorting.sort
* Dub changes: The --color argument now accepts values auto,
never, always
- Changes from version 2.102.2:
* 6 fixed Bugzilla issues.
- Changes from version 2.102.1:
* Dub changes:
- Reverted v1.31.0 working directory change when using dub run
--root=<value>
- Path dependencies of path-based sub-packages have been fixed
- Changes from version 2.102.0:
* Compiler changes:
- A missed case of conflicting extern (D) @system function
definitions has been deprecated
- Deprecate the ability to call __traits(getAttributes) on
overload sets
- Deprecate non-empty for statement Increment clause with no
effect
- Array literals assigned to scope array variables can now be
allocated on the stack
- static assert now supports multiple message arguments
- -preview=systemVariables has been added
* Runtime changes: The default Throwable.TraceInfo generation now
is @nogc.
* Library changes:
- Single- and double-precision implementations for log function
families
- The Unicode property "C" aka "Other" has had the wrong
properties associated with it
- Unicode table generator is now in Phobos, tables are updated
to version 15
- std.typecons.Unique now calls destroy on struct types
* Installer changes:
- Update the bundled VisualD package
- Prefer 64 bit over 32 bit DMD on Windows 64 bit.
* Dub changes:
- Binary output will now be in a central cache
- DUB API breaking change: Package.metadataCache setter and
getter have been removed
- Changes from version 2.101.2:
* 16 fixed Bugzilla issues.
- Changes from version 2.101.1:
* 11 fixed Bugzilla issues.
Accepting request 1042369 from home:favogt:dbootstrap RFC. I submitted this two weeks ago as https://build.opensuse.org/request/show/1039301, but there was no response. - Bootstrap using gdmd instead of prebuilt binaries - Update to version 2.101.0 * Compiler changes * Add bit fields to D * Added __traits(classInstanceAlignment) * Relaxed pragma(crt_constructor) / pragma(crt_destructor) linkage check * Add predefined version D_Optimized when compiling with -O * Throwing from contracts of nothrow functions has been deprecated * Using integers for version or debug conditions has been deprecated * Print deprecations for scope pointer errors * Improvements for the C++ header generation * -preview=fixImmmutableConv has been added * Returning a discarded void value from a function is now deprecated * ImportC now recognizes the typeof(...) operator * Removed the -transition=markdown and -revert=markdown switches * new can now allocate an associative array * -preview=in can now be used with extern(C++), disabled for other non-D linkage * The shortened method syntax is now available by default. * Source files may no longer contain Unicode directionality overrides * Runtime changes * Added avx512f detection to core.cpuid * --DRT-oncycle=deprecate is removed * Posix (excl. Darwin): Switch default GC signals from SIGUSR1/2 to SIGRTMIN/SIGRTMIN+1 * Library changes * Added SafeRefCounted, that can be used in @safe with -preview=dip1000. * Move logger out of experimental. * remove std.experimental.logger's capability to set the minimal LogLevel at compile time * Change std.experimental.logger.core.sharedLog to return shared(Logger) * std.experimental.typecons has been removed * std.digest.digest has been removed * std.xml has been removed * std.socket.Socket methods now accept only scope arrays. * Add custom fill value to std.outbuffer.OutBuffer class - Update to version 2.100.2 * Compiler changes * scope(failure) blocks that contain return statements are now deprecated - Update to version 2.100.1 * Compiler changes * scope(failure) blocks that contain return statements are now deprecated - Update to version 2.100.0 * Compiler changes * End deprecation period for using alias this for partial assignment. * The deprecation period for D1-style operators has ended. * scope as a type constraint on class, struct, and enum declarations is deprecated. * The deprecation period of unannotated asm blocks has been ended. * The deprecation period of the delete keyword has been ended. * Improvements for the C++ header generation * The deprecation period for scope as a type constraint on interface declarations has ended. * The inout attribute no longer implies the return attribute * Support contract invariant version identifier. * Implement DIP 1038: @mustuse * Added .tupleof property for static arrays * Usage of this and super as types has been removed * A missed case of switch case fallthrough has been deprecated * Library changes * New function bind in std.functional * Nullable in std.typecons can now act as a range * Zlib updated to 1.2.12 * Tools changes * rdmd now supports specifying the D compiler using the RDMD_DMD environment variable - Update to version 2.099.1 * Compiler changes * Special case for __traits(parameters) in foreach loops was removed * Library changes * std.experimental.logger default level changed to info instead of warning - Update to version 2.099.0 * Compiler changes * When ref scope return attributes are used on a parameter, and return scope appears, the return applies to the scope, not the ref. * __traits(parameters) has been added to the compiler. * Add ability to import modules to ImportC * Casting between compatible sequences * New command line switch -vasm which outputs assembler code per function * The '-preview=intpromote' switch is now set by default. * -m32 now produces MS Coff objects when targeting windows * Ignore unittests in non-root modules * main can now return type noreturn and supports return inference * Falling through switch cases is now an error * Throw expression as proposed by DIP 1034 have been implemented * Added __traits(initSymbol) to obtain aggregate initializers * Runtime changes * Add support for @safe class opEquals * Library changes * Move checkedint out of experimental. * chunkBy @safe with forward ranges and splitWhen fully @safe * std.csv can now optionally handle csv files with variable number of columns. * Change default log level for std.experimental.logger to LogLevel.warning * std.conv.to accepts std.typecons tuples - Update to version 2.098.1 * DMD Compiler regression fixes * [REG2.084.0] Bogus slice assignment in recursive CTFE call * spurious deprecation warnings on function calls within with(X) blocks while X has a deprecated alias this target * OpDispatch does not work for structs with constructor and destructor * error in static struct initialization causes wrong position for subsequent members, producing extra errors * alias this returns 'null' for ref types when put into array initializer * Rebindable does not work when class has alias this to inout property * A case of compiler crash when using auto ref * Spurious "non-constant expression" error with immutable constructors * Compiler segfault on static array in a struct at CTFE * [REG2.097] Error: mismatched function return type inference of void and noreturn * Compiler crash when attempting to assign to function * [REG 2.098-rc.2] -checkaction=context of a shared type with an opCast fails to compile * CTFE fails to iterate over associative array previously indexed with implicit conversion to enum base type * [REG2.094] function with tuple parameter with default argument fails if there's a qualifier * [REG2.098] Apparent CTFE regression wrt. alias this * Invalid error message for void return from non-void functions * importC: incomplete array type must have initializer * Invalid duplicate case error when the switched value has errors * Segfault for function literal in struct initializer with previous errors * wrong deprecation about empty statement * [REG 2.098] Error: function 'core.stdc.stdio.vfprintf' 'pragma(printf)' functions must be 'extern(C) int vfprintf([parameters...], const(char)*, va_list)' * more arguments than fields allowed in struct constructor * importC: Error: undefined reference to 'parameter' when no parameter names in forward declaration * importC: Error: variable 'var' extern symbols cannot have initializers * importC: Segmentation fault indexing global array at run-time * ICE on overloaded constructors * DMD Compiler bug fixes * ReturnStatement[CallExp(DotVarExp)]: Corrupted runtime on missed manifest constant propagation * Wrong cast of float constant to bool * 'export' keyword on OSX/Linux globals causing segfaults * [ICE] AssertError@dmd/optimize.d(691): Assertion failure * Internal compiler assertion * ICE (illegal instruction) with bad code * cod1: Assertion failure for noreturn parameter * ice for global / tls variable of type noreturn * ice when dmd computes the alignment of an union containing a noreturn * importC: Parser accepts arrays with incomplete element types * ImportC: #pragma pack is not implemented * Link error for virtual destructor of C++ class in DLL * ImportC: error parsing compound literal with more than one value at function scope. * importC: Error: C non-array initializer not supported yet * importC: Error: cannot use non-constant CTFE pointer in an initializer * Wrong overload selected for @safe delegate * noreturn functions are allowed to return normally * importC: Error: unknown, when compiling source with non-constant initializer. * importC: Error: static variable cannot be read at compile time * importC: Error: unknown, when compiling source with typedef'd initializer * importC: Error: can't subtract '__tag2[1]' from pointer * importC: Error: cannot pass argument '0' of type 'int' to parameter 'const(char)*' * importC: Error: cannot modify 'const' expression '(*s).field' * importC: Error: 'switch' statement without a 'default'; use 'final switch' or add 'default: assert(0);' or add 'default: break;' * importC: Error: cannot implicitly convert expression of type 'extern (C) int(int a)' to 'const(extern (C) int function(int))' * importC: [ICE] Error: struct no size because of forward reference * importC: Error: cannot implicitly convert expression of type 'const(char*)' to 'char*' * importC: Error: array index 0 is out of bounds * ImportC: parse gnu attributes after a function parameter * importC: static variables/functions emit global symbols * ImportC: casting result of postfix operator on a parenthesized expression to a typedef’d type is parsed incorrectly * ImportC: Lots of errors when compiling tomlc99 * ImportC: address of member of struct can’t be taken at compile time. * [REG 2.093][ICE] Bus error at dmd/lexer.d:398 * Explicit cast between classes incorrectly goes through 'alias this' inside CTFE * importC: D name mangling applied to forward declaration of function inside function * ImportC: const pointer (not pointer to const) is treated as transitive const * importC: function 'func' conflicts with function 'func' when using static in forward declaration * importC: float literal should support leading zero * ImportC: extra semicolon not allowed outside of functions * DMD compiler errors on Illumos/Solaris * ImportC: cannot implicitly convert expression S(0) of type S to int in an S array * ImportC: decay of function to typedef'd const function pointer causes ICE. * importC: Error: undefined reference to '__builtin_va_start' and '__builtin_va_end' * importC: Debug information for C sources have DW_AT_language set to D. * importC: Segmentation fault initializing va_list with __builtin_va_start * importC: Error: cannot convert string literal to 'void*' * Phobos regression fixes * [REG2.069] TaskPool.reduce fails to compile "cannot get frame pointer to D main" * Phobos bug fixes * OpenBSD: Add OpenBSD to std/system.d OS list * Array!T.init.data crashes * Phobos enhancements * data should work with const/immutable Array's * Nullable is not copyable when templated type has elaborate copy ctor * std.traits.fqnType is missing support for typeof(null) * Druntime regression fixes * [REG2.091] Wrong file read during exception stringification leads to SIGBUS * std.meta.allSatisfy in mutual recursion classes cannot be compiled * core.demangle does not support noreturn * Druntime bug fixes * Unify polyImpl implementations * Remove useless conditional assignment of DISABLED_TESTS in posix.mak * Druntime enhancements * Explicitly cast backtrace results to int - Update to version 2.098.0 * Compiler changes * Add Alias Assignment * Accessing C Declarations From D Via ImportC Compiler * Using the syntax (args) => {} now triggers a deprecation message * Improvements for the C++ header generation * -preview=dtorfields is now enabled by default * Add .min, .max, etc. properties for vector types * Using a mutable variable as a switch case now triggers an error * Out of bounds array access now gives a better error message * Class allocators have been removed from the language * Initialization of immutable global data from static this now triggers an error * Add -target=<triple> for operating system, c, and c++ runtime cross compilation * Default initialization of union field that isn't the first member now triggers an error * Runtime changes * TypeInfo names for aggregates are fully qualified and hence unique now * A concurrent GC for Posix systems * Improve POSIX imports * Library changes * New function isValidCharacter in std.utf * Dub changes * Added support for environment variables to use compilation and run (or test) option to the dub settings file and dub.json/dub.sdl. - Update to version 2.097.0 * Compiler changes * Deprecation period for ambiguous ternary expressions has ended * Usage of the body keyword has been deprecated * Deprecate a case of using fully-qualified names to bypass imports * Explicit package visibility attribute is now always applied to new scopes * pragma(mangle) can now be applied to aggregates * Complex and imaginary types are now deprecated * while (auto n = expression) is now supported * Library changes * Centering formatted output. * AllImplicitConversionTargets replaces ImplicitConversionTargets * Formatting integers with %e, %f, %g and %a is now possible. * Implementation of pow(f, -2) and f ^^ -2 changed * Deprecate std.format : enforceValidFormatSpec * Deprecate std.format : formatElement * Deprecate std.format : unformatElement * FieldnameTuple now returns an empty tuple for interfaces * Fields (formerly FieldTypeTuple) now returns an empty tuple for interfaces * Floating point numbers can be formatted at compile time * Formatting floating point numbers don't allocate with the GC anymore. * Some reals will be downcast to double when used with std.format. * std.typecons.Nullable: Remove deprecated alias get this. * Documentation of std.format has been completely reworked. * Module std.format has been split into smaller modules * Module std.math has been split into smaller modules * splitWhen added to std.algorithm.iteration * The old benchmarking functionality in std.datetime has been removed. * std.exception.enforceEx has been removed. * New module: std.sumtype * std.range.Transposed: Remove deprecated member save * Dub changes * Added support for low memory compilation option to the dub settings file. - Update to version 2.096.1 * Runtime changes: * Variables suspendSignalNumber and resumeSignalNumber are now private * The druntime option callStructDtorsDuringGC has been removed * Experimental llvm-libunwind based backtrace printing was added * Library changes * Return the number of characters consumed by std.conv.parse * Deprecate std.stdio.getdelim and std.stdio.getline * Add integer conversions in JSONValue.get * Deprecate std.math : approxEqual * Compiler changes * Deprecate bypassing of symbol visibility when doing overload resolution * Deprecation triggered inside of templates now show instantiation trace * Improvements for the C++ header generation * Diagnostics for conflicting function definitions within a module * extern(Pascal) has been removed * The compiler now accepts -extern-std=c++20 * C++ compability standard now c++11 by default * Add -preview=inclusiveincontracts: in contracts must be an explicit superset of the parent in contracts. * Add support for Objective-C protocols * Allow any compile-time argument in pragma(inline) * Add __traits(getCppNamespaces, symbol) to retrieve the C++ namespaces a symbol resides in. * DMD Compiler regressions / bugs: * printf check does not recognize GNU extensions * Function alias reported as conflicting function * Slice assignment segmentation fault * ssignment inside assert accepted if -checkaction=context is given * Struct dtor is called twice if struct is created inside ternary operator * Mangling problem wrt. backrefs and function types * build.d install fails, can't find dmd.conf * Constructor flow analysis doesn't understand unions * Confusing error message for CTFE pointer in static initializer * checkaction=context creates temporary of type void * Overload selection ignores slice * -preview=rvaluerefparam does not work with template deduction * CTFE doesn't call base class destructor for extern(D) classes * Wrong ParameterStorageClass when -preview=in is used * Phobos enhancements / regression fixes: * std.process.browse does not work with URLs 256 characters or longer * std.regex performance regression (additional GC allocation) * Specifying null as bitfields variable name now fails * avoid quadratic template expansion in constraints of multiple search term versions of std.algorithm.searching.startsWith & endsWith * casting std.BigInts to built-in floating point types doesn't work without -preview=dip1000 * std.algorithm.mutation.copy fails on overlapping arrays if the source array's pointer is less than the destination array's pointer * std.experimental.checkedint opBinaryRight with integer left-hand side does not compile for any operators * std.typecons.ReplaceType does not work for in parameters * Deprecated Nullable.get warning with Appenders * Druntime bugs / regression fixes: * std.conv.emplace not usable in betterC - 2.096 * casWeak is not implemented * joining a detached thread results in segfault. * core.atomic.atomicFetchSub for pointers incorrectly calls wrong function from core.internal.atomic - Update to version 2.094.2 - Runtime changes: * Support time64 changes for CRuntime_Musl - DMD Compiler regressions: * Delegate covariance broken between 2.092 and 2.094 (git master). * False deprecation raised for templated overloaded struct method - DMD Compiler bugs: * Calling __traits(getUnitTests) on a template causes compiler segfault * __traits(getUnitTests) should include unittests from anonymous mixins * 'With()' statement ignores symbol visibility in some cases. * Name clash between import and method triggers a segfault - Phobos bugs: * Segfault with Appender!string.init.toString() * join can iterates ranges multiple times * std.random.uniform!T(urng) when T is dchar disregards urng and always uses a thread-local random * std.random.uniform!T() and std.random.uniform!T(urng) when T is dchar with any qualifiers can exceed dchar.max - Druntime bugs: * core.stdcpp.string.basic_string does not implement opEquals * core.stdcpp.vector.vector does not implement opEquals * TypeInfo.swap must not allow reachable memory to be freed if interrupted by a garbage collection pass - refresh dmd_use_tarball_bootstrap.diff patch - Update to version 2.087.1 - Runtime changes: * Add all missing symbols to core.sys.darwin.mach.loader - DMD Compiler regressions: * ICE when taking address of member function passed as template parameter * [REG] modification of member of a manifest constant that's also a struct is allowed * POSIX: extern(C++, namespace) does not apply namespace to enum * DMD Segfault in 2.087 * compiler segfaults on passing templates expression to lazy val * [REG2.086] foreach no longer works on range with alias front - DMD Compiler bugs: * Templates inside templates used as mixins * DMD segfault with circular template constraints * [ICE] Internal error: ddmd/backend/cgcs.c 352 - CTFE appending to an array on a struct from a template * Unable to remove a tuple from associative array. * Can't use __traits(getAttributes, ...)[...] as a type * access violation at compile time, possibly via template constraint and alias interaction * Symbol not found: _dyld_enumerate_tlv_storage on macOS 10.15 * alias this combined with a copy constructor seems to lead to undefined behaviour. * [ICE] Segmentation fault in ExpressionPrettyPrintVisitor::visit(IntegerExp*) at dmd/hdrgen.d:1775 * ICE from double template instantiation with getMember of overload of class and template function * __vector CTFE crashes the compiler * Compiler crash when using an opaque struct as template parameter * bogus error: "integer constant expression expected instead of (uint).sizeof" * [Windows] Program segfaults when running tests * ICE in func literal used in __traits(compiles) * SIMD 32 bytes causes obscure segfault * [2.087.0] Mixin templates: no property somevar for type some.Type, did you mean some.Type.__anonymous.somevar - DMD Compiler enhancements: * Empty AliasSeq can't be used to form compiletime array literal - Phobos bugs: * std.variant.VariantN does not work with a class that inherits from a template instantiation * ReplaceType replaces type with the type forwarding using alias this * ReplaceType fails to compile for self-referential inheritance chains * someAllocator.make!T doesn't compile if T is a shared value type * [2.087.0] std.conv.toImpl matches two functions when using static arrays as inout( T ) - Phobos enhancements: * RefCounted fails to instantiate due to pureness of moveEmplace * Tuple.rename doesn't work with const - Druntime bugs: * retrying while pthread_cond_signal/pthread_cond_broadcast return EAGAIN * object.destroy doesn't propagate attributes - Add missing provides/obsoletes to the versioned phobos shared library package. - Update to version 2.085.1 - DMD Compiler regressions: * DMD generates wrong code for some circular dependencies * D compiler fails to resolve circular module dependency when modules are compiled separately * D compiler fails to resolve circular module dependency when modules are compiled together * ICE on null default value for struct parameter in constructor * DMD 2.085 changes to gsroa make DCD crashing * Regression: wrong order of linker arguments, again: -L-l before -L--start-group * if (auto x) {} isn't properly rejected * DMD fails to compile some circular dependencies spiced with is (T == super) condition * [Reg v2.070.2] DMD fails with some circular module refs with Template/Mixin instances - DMD Compiler bugs: * wrong codegen for destructor call of unnamed struct instance on 64 bit environments * case of undetected circular reference in function parameter * ICE with multiple mixin templates containing conflicting ctor declarations * Segfault when types are used in array literals * DMD crash due to circular reference in function return type * -checkaction=context not working with attributes * [2.085.0-beta.2] Obj-C wrong code overloading selectors and extern(D) * case of segfault due to undetected forward reference * Compiler crash * crash on invalid initializer at CTFE * ICE on invalid code - Phobos regressions: * VariantN has unittests that are compiled into user modules - Phobos bugs: * std.algorithm.searching.findAmong doesn't save like it should - Druntime bugs: * wrong time values in GC.profileStats - Update to version 2.085.0 - Compiler changes: * Add support for Objective-C classes * Add support for Objective-C instance variable * Add support for Objective-C super calls * Deprecate Objective-C interfaces * Context-aware assertion error messages * Avoid calling the struct constructor from const-casts * dmd now supports expressive diagnostic error messages with -verrors=context * memcmp() compares are no longer performed for struct equality tests, memberwise comparisons are done instead, per the spec * OSX 32-bit is no longer supported * -preview and -revert command line switches have been introduced * Transition to C++11 character types - Runtime changes: * Added GC.profileStats() to core.memory * Added core.stdcpp.new_ * Added core.sys.linux.sched.CPU_COUNT. * Added core.sys.linux.sched.CPU_ISSET. * Moved std.conv.emplace, std.algorithm.mutation.move, std.algorithm.mutation.moveEmplace, and std.functional.forward to core/lifetime.d * GC cleanup can now be configured as a DRT GC option * A garbage collector with precise heap scanning can now be selected * GC.realloc is now more consistent and robust * User supplied garbage collectors can now be linked with the runtime * Added core.stdcpp.allocator * char/wchar fields in most D runtime (core.* and rt.*) structs are now zero-initialized - Update to version 2.084.1 - Compiler bugs * -check=in=off doesn't work * corrupt ELF library when using pragma(crt_constructor) - Compiler enhancements * Shared object "libstdc++.so.6" not found, required by "dmd" ----- -------------------------------------------------------------- - Update to version 2.084.0 - Compiler changes * Aliases can be created directly from a __trait. * Added -check switch to turn on and off each category of runtime checks. * Add -checkaction=D|C|halt compiler switch. * -color and -color=on will now always output colorized console output * The code generated by mixin statements can now be saved with -mixin * Deprecate invalid binary literals * Deprecated extern(Pascal) linkage * The deprecation phase for fully qualified names that bypassed private imports is finished * Templates are now mangled correctly on POSIX * Added __c_wchar_t as a correct mangling type for C's wchar_t - Runtime changes * Added core.stdcpp.array. * Add D header file core.sys.darwin.crt_externs for libc/crt_externs.h on Darwin. * Added initialize template argument to object.destroy(). * Added core.stdcpp.string_view. - Library changes * Add overload std.random.unpredictableSeed!UIntType - Update to version 2.083.0 - Compiler changes * Add CppRuntime_* version identifiers * Deprecated CLI switch -gc have been removed * Expose __traits(isZeroInit, T) * Implement new C++ mangling syntax * Add pragma(linkerDirective), to emit linker directives into object files * fix Issue 14246 - RAII - proper destruction of partially constructed objects * Add __traits(getTargetInfo, "key") to query details about the compilation target - Library changes * std.algorithm.iteration.each is now capable of early-stopping * toHash function has been added to std.experimental.checkedint.Checked - Update to 2.082.1 - DMD Compiler regressions * Could not CTFE with std.math.exp from 2.082.0 * [REG 2.081] Can no longer override pragma(lib) with -L switch * Some source files names are no longer accepted - Phobos regressions * Templated format with variable width allocates 2GB of RAM per call. - Phobos bugs * std.net.curl.post cannot be used with !ubyte * std.algorithm.subsitute wrong results for single subrange substitution - 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) OBS-URL: https://build.opensuse.org/request/show/1042369 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=88
2022-12-12 17:11:14 +00:00
-------------------------------------------------------------------
Thu Dec 1 11:03:47 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Bootstrap using gdmd instead of prebuilt binaries
Accepting request 1041658 from home:HenkKalkwater:branches:devel:languages:D - Build using the build.d script, as opposed to the deprecated posix.mak - Remove dmd_use_tarball_boostrap.diff patch as it is no longer needed - Update to version 2.101.0 * Compiler changes * Add bit fields to D * Added __traits(classInstanceAlignment) * Relaxed pragma(crt_constructor) / pragma(crt_destructor) linkage check * Add predefined version D_Optimized when compiling with -O * Throwing from contracts of nothrow functions has been deprecated * Using integers for version or debug conditions has been deprecated * Print deprecations for scope pointer errors * Improvements for the C++ header generation * -preview=fixImmmutableConv has been added * Returning a discarded void value from a function is now deprecated * ImportC now recognizes the typeof(...) operator * Removed the -transition=markdown and -revert=markdown switches * new can now allocate an associative array * -preview=in can now be used with extern(C++), disabled for other non-D linkage * The shortened method syntax is now available by default. * Source files may no longer contain Unicode directionality overrides * Runtime changes * Added avx512f detection to core.cpuid * --DRT-oncycle=deprecate is removed * Posix (excl. Darwin): Switch default GC signals from SIGUSR1/2 to SIGRTMIN/SIGRTMIN+1 * Library changes * Added SafeRefCounted, that can be used in @safe with -preview=dip1000. * Move logger out of experimental. * remove std.experimental.logger's capability to set the minimal LogLevel at compile time * Change std.experimental.logger.core.sharedLog to return shared(Logger) * std.experimental.typecons has been removed * std.digest.digest has been removed * std.xml has been removed * std.socket.Socket methods now accept only scope arrays. * Add custom fill value to std.outbuffer.OutBuffer class - Update to version 2.100.2 * Compiler changes * scope(failure) blocks that contain return statements are now deprecated - Update to version 2.100.1 * Compiler changes * scope(failure) blocks that contain return statements are now deprecated - Update to version 2.100.0 * Compiler changes * End deprecation period for using alias this for partial assignment. * The deprecation period for D1-style operators has ended. * scope as a type constraint on class, struct, and enum declarations is deprecated. * The deprecation period of unannotated asm blocks has been ended. * The deprecation period of the delete keyword has been ended. * Improvements for the C++ header generation * The deprecation period for scope as a type constraint on interface declarations has ended. * The inout attribute no longer implies the return attribute * Support contract invariant version identifier. * Implement DIP 1038: @mustuse * Added .tupleof property for static arrays * Usage of this and super as types has been removed * A missed case of switch case fallthrough has been deprecated * Library changes * New function bind in std.functional * Nullable in std.typecons can now act as a range * Zlib updated to 1.2.12 * Tools changes * rdmd now supports specifying the D compiler using the RDMD_DMD environment variable - Update to version 2.099.1 * Compiler changes * Special case for __traits(parameters) in foreach loops was removed * Library changes * std.experimental.logger default level changed to info instead of warning - Update to version 2.099.0 * Compiler changes * When ref scope return attributes are used on a parameter, and return scope appears, the return applies to the scope, not the ref. * __traits(parameters) has been added to the compiler. * Add ability to import modules to ImportC * Casting between compatible sequences * New command line switch -vasm which outputs assembler code per function * The '-preview=intpromote' switch is now set by default. * -m32 now produces MS Coff objects when targeting windows * Ignore unittests in non-root modules * main can now return type noreturn and supports return inference * Falling through switch cases is now an error * Throw expression as proposed by DIP 1034 have been implemented * Added __traits(initSymbol) to obtain aggregate initializers * Runtime changes * Add support for @safe class opEquals * Library changes * Move checkedint out of experimental. * chunkBy @safe with forward ranges and splitWhen fully @safe * std.csv can now optionally handle csv files with variable number of columns. * Change default log level for std.experimental.logger to LogLevel.warning * std.conv.to accepts std.typecons tuples OBS-URL: https://build.opensuse.org/request/show/1041658 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=87
2022-12-08 18:13:38 +00:00
-------------------------------------------------------------------
Wed Nov 16 16:55:52 UTC 2022 - Chris Josten <chris+suse@netsoj.nl>
- Build using the build.d script, as opposed to the deprecated
posix.mak
- Remove dmd_use_tarball_bootstrap.diff patch as it is no longer
Accepting request 1041658 from home:HenkKalkwater:branches:devel:languages:D - Build using the build.d script, as opposed to the deprecated posix.mak - Remove dmd_use_tarball_boostrap.diff patch as it is no longer needed - Update to version 2.101.0 * Compiler changes * Add bit fields to D * Added __traits(classInstanceAlignment) * Relaxed pragma(crt_constructor) / pragma(crt_destructor) linkage check * Add predefined version D_Optimized when compiling with -O * Throwing from contracts of nothrow functions has been deprecated * Using integers for version or debug conditions has been deprecated * Print deprecations for scope pointer errors * Improvements for the C++ header generation * -preview=fixImmmutableConv has been added * Returning a discarded void value from a function is now deprecated * ImportC now recognizes the typeof(...) operator * Removed the -transition=markdown and -revert=markdown switches * new can now allocate an associative array * -preview=in can now be used with extern(C++), disabled for other non-D linkage * The shortened method syntax is now available by default. * Source files may no longer contain Unicode directionality overrides * Runtime changes * Added avx512f detection to core.cpuid * --DRT-oncycle=deprecate is removed * Posix (excl. Darwin): Switch default GC signals from SIGUSR1/2 to SIGRTMIN/SIGRTMIN+1 * Library changes * Added SafeRefCounted, that can be used in @safe with -preview=dip1000. * Move logger out of experimental. * remove std.experimental.logger's capability to set the minimal LogLevel at compile time * Change std.experimental.logger.core.sharedLog to return shared(Logger) * std.experimental.typecons has been removed * std.digest.digest has been removed * std.xml has been removed * std.socket.Socket methods now accept only scope arrays. * Add custom fill value to std.outbuffer.OutBuffer class - Update to version 2.100.2 * Compiler changes * scope(failure) blocks that contain return statements are now deprecated - Update to version 2.100.1 * Compiler changes * scope(failure) blocks that contain return statements are now deprecated - Update to version 2.100.0 * Compiler changes * End deprecation period for using alias this for partial assignment. * The deprecation period for D1-style operators has ended. * scope as a type constraint on class, struct, and enum declarations is deprecated. * The deprecation period of unannotated asm blocks has been ended. * The deprecation period of the delete keyword has been ended. * Improvements for the C++ header generation * The deprecation period for scope as a type constraint on interface declarations has ended. * The inout attribute no longer implies the return attribute * Support contract invariant version identifier. * Implement DIP 1038: @mustuse * Added .tupleof property for static arrays * Usage of this and super as types has been removed * A missed case of switch case fallthrough has been deprecated * Library changes * New function bind in std.functional * Nullable in std.typecons can now act as a range * Zlib updated to 1.2.12 * Tools changes * rdmd now supports specifying the D compiler using the RDMD_DMD environment variable - Update to version 2.099.1 * Compiler changes * Special case for __traits(parameters) in foreach loops was removed * Library changes * std.experimental.logger default level changed to info instead of warning - Update to version 2.099.0 * Compiler changes * When ref scope return attributes are used on a parameter, and return scope appears, the return applies to the scope, not the ref. * __traits(parameters) has been added to the compiler. * Add ability to import modules to ImportC * Casting between compatible sequences * New command line switch -vasm which outputs assembler code per function * The '-preview=intpromote' switch is now set by default. * -m32 now produces MS Coff objects when targeting windows * Ignore unittests in non-root modules * main can now return type noreturn and supports return inference * Falling through switch cases is now an error * Throw expression as proposed by DIP 1034 have been implemented * Added __traits(initSymbol) to obtain aggregate initializers * Runtime changes * Add support for @safe class opEquals * Library changes * Move checkedint out of experimental. * chunkBy @safe with forward ranges and splitWhen fully @safe * std.csv can now optionally handle csv files with variable number of columns. * Change default log level for std.experimental.logger to LogLevel.warning * std.conv.to accepts std.typecons tuples OBS-URL: https://build.opensuse.org/request/show/1041658 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=87
2022-12-08 18:13:38 +00:00
needed
- Update to version 2.101.0
* Compiler changes
* Add bit fields to D
* Added __traits(classInstanceAlignment)
* Relaxed pragma(crt_constructor) / pragma(crt_destructor)
linkage check
* Add predefined version D_Optimized when compiling with -O
* Throwing from contracts of nothrow functions has been
deprecated
* Using integers for version or debug conditions has been
deprecated
* Print deprecations for scope pointer errors
* Improvements for the C++ header generation
* -preview=fixImmmutableConv has been added
* Returning a discarded void value from a function is now
deprecated
* ImportC now recognizes the typeof(...) operator
* Removed the -transition=markdown and -revert=markdown
switches
* new can now allocate an associative array
* -preview=in can now be used with extern(C++), disabled for
other non-D linkage
* The shortened method syntax is now available by default.
* Source files may no longer contain Unicode directionality
overrides
* Runtime changes
* Added avx512f detection to core.cpuid
* --DRT-oncycle=deprecate is removed
* Posix (excl. Darwin): Switch default GC signals from
SIGUSR1/2 to SIGRTMIN/SIGRTMIN+1
* Library changes
* Added SafeRefCounted, that can be used in @safe with
-preview=dip1000.
* Move logger out of experimental.
* remove std.experimental.logger's capability to set the minimal
LogLevel at compile time
* Change std.experimental.logger.core.sharedLog to return
shared(Logger)
* std.experimental.typecons has been removed
* std.digest.digest has been removed
* std.xml has been removed
* std.socket.Socket methods now accept only scope arrays.
* Add custom fill value to std.outbuffer.OutBuffer class
- Update to version 2.100.2
* Compiler changes
* scope(failure) blocks that contain return statements are
now deprecated
- Update to version 2.100.1
* Compiler changes
* scope(failure) blocks that contain return statements are
now deprecated
- Update to version 2.100.0
* Compiler changes
* End deprecation period for using alias this for partial
assignment.
* The deprecation period for D1-style operators has ended.
* scope as a type constraint on class, struct, and enum
declarations is deprecated.
* The deprecation period of unannotated asm blocks has been
ended.
* The deprecation period of the delete keyword has been ended.
* Improvements for the C++ header generation
* The deprecation period for scope as a type constraint on
interface declarations has ended.
* The inout attribute no longer implies the return attribute
* Support contract invariant version identifier.
* Implement DIP 1038: @mustuse
* Added .tupleof property for static arrays
* Usage of this and super as types has been removed
* A missed case of switch case fallthrough has been deprecated
* Library changes
* New function bind in std.functional
* Nullable in std.typecons can now act as a range
* Zlib updated to 1.2.12
* Tools changes
* rdmd now supports specifying the D compiler using the RDMD_DMD
environment variable
- Update to version 2.099.1
* Compiler changes
* Special case for __traits(parameters) in foreach loops
was removed
* Library changes
* std.experimental.logger default level changed to info instead
of warning
- Update to version 2.099.0
* Compiler changes
* When ref scope return attributes are used on a parameter,
and return scope appears, the return applies to the scope,
not the ref.
* __traits(parameters) has been added to the compiler.
* Add ability to import modules to ImportC
* Casting between compatible sequences
* New command line switch -vasm which outputs assembler code
per function
* The '-preview=intpromote' switch is now set by default.
* -m32 now produces MS Coff objects when targeting windows
* Ignore unittests in non-root modules
* main can now return type noreturn and supports return inference
* Falling through switch cases is now an error
* Throw expression as proposed by DIP 1034 have been implemented
* Added __traits(initSymbol) to obtain aggregate initializers
* Runtime changes
* Add support for @safe class opEquals
* Library changes
* Move checkedint out of experimental.
* chunkBy @safe with forward ranges and splitWhen fully @safe
* std.csv can now optionally handle csv files with variable
number of columns.
* Change default log level for std.experimental.logger to
LogLevel.warning
* std.conv.to accepts std.typecons tuples
-------------------------------------------------------------------
Mon Dec 27 15:03:23 UTC 2021 - Chris Josten <chris+suse@netsoj.nl>
- Update to version 2.098.1
* DMD Compiler regression fixes
* [REG2.084.0] Bogus slice assignment in recursive CTFE call
* spurious deprecation warnings on function calls within with(X)
blocks while X has a deprecated alias this target
* OpDispatch does not work for structs with constructor and
destructor
* error in static struct initialization causes wrong position for
subsequent members, producing extra errors
* alias this returns 'null' for ref types when put into array
initializer
* Rebindable does not work when class has alias this to inout
property
* A case of compiler crash when using auto ref
* Spurious "non-constant expression" error with immutable
constructors
* Compiler segfault on static array in a struct at CTFE
* [REG2.097] Error: mismatched function return type inference of
void and noreturn
* Compiler crash when attempting to assign to function
* [REG 2.098-rc.2] -checkaction=context of a shared type with an
opCast fails to compile
* CTFE fails to iterate over associative array previously indexed
with implicit conversion to enum base type
* [REG2.094] function with tuple parameter with default argument
fails if there's a qualifier
* [REG2.098] Apparent CTFE regression wrt. alias this
* Invalid error message for void return from non-void functions
* importC: incomplete array type must have initializer
* Invalid duplicate case error when the switched value has errors
* Segfault for function literal in struct initializer with
previous errors
* wrong deprecation about empty statement
* [REG 2.098] Error: function 'core.stdc.stdio.vfprintf'
'pragma(printf)' functions must be
'extern(C) int vfprintf([parameters...], const(char)*, va_list)'
* more arguments than fields allowed in struct constructor
* importC: Error: undefined reference to 'parameter' when no
parameter names in forward declaration
* importC: Error: variable 'var' extern symbols cannot have
initializers
* importC: Segmentation fault indexing global array at run-time
* ICE on overloaded constructors
* DMD Compiler bug fixes
* ReturnStatement[CallExp(DotVarExp)]: Corrupted runtime on missed
manifest constant propagation
* Wrong cast of float constant to bool
* 'export' keyword on OSX/Linux globals causing segfaults
* [ICE] AssertError@dmd/optimize.d(691): Assertion failure
* Internal compiler assertion
* ICE (illegal instruction) with bad code
* cod1: Assertion failure for noreturn parameter
* ice for global / tls variable of type noreturn
* ice when dmd computes the alignment of an union containing a
noreturn
* importC: Parser accepts arrays with incomplete element types
* ImportC: #pragma pack is not implemented
* Link error for virtual destructor of C++ class in DLL
* ImportC: error parsing compound literal with more than one value
at function scope.
* importC: Error: C non-array initializer not supported yet
* importC: Error: cannot use non-constant CTFE pointer in an
initializer
* Wrong overload selected for @safe delegate
* noreturn functions are allowed to return normally
* importC: Error: unknown, when compiling source with non-constant
initializer.
* importC: Error: static variable cannot be read at compile time
* importC: Error: unknown, when compiling source with typedef'd
initializer
* importC: Error: can't subtract '__tag2[1]' from pointer
* importC: Error: cannot pass argument '0' of type 'int' to
parameter 'const(char)*'
* importC: Error: cannot modify 'const' expression '(*s).field'
* importC: Error: 'switch' statement without a 'default'; use
'final switch' or add 'default: assert(0);' or add
'default: break;'
* importC: Error: cannot implicitly convert expression of type
'extern (C) int(int a)' to 'const(extern (C) int function(int))'
* importC: [ICE] Error: struct no size because of forward reference
* importC: Error: cannot implicitly convert expression of type
'const(char*)' to 'char*'
* importC: Error: array index 0 is out of bounds
* ImportC: parse gnu attributes after a function parameter
* importC: static variables/functions emit global symbols
* ImportC: casting result of postfix operator on a parenthesized
expression to a typedefd type is parsed incorrectly
* ImportC: Lots of errors when compiling tomlc99
* ImportC: address of member of struct cant be taken at compile
time.
* [REG 2.093][ICE] Bus error at dmd/lexer.d:398
* Explicit cast between classes incorrectly goes through
'alias this' inside CTFE
* importC: D name mangling applied to forward declaration of
function inside function
* ImportC: const pointer (not pointer to const) is treated as
transitive const
* importC: function 'func' conflicts with function 'func' when
using static in forward declaration
* importC: float literal should support leading zero
* ImportC: extra semicolon not allowed outside of functions
* DMD compiler errors on Illumos/Solaris
* ImportC: cannot implicitly convert expression S(0) of type S to
int in an S array
* ImportC: decay of function to typedef'd const function pointer
causes ICE.
* importC: Error: undefined reference to '__builtin_va_start' and
'__builtin_va_end'
* importC: Debug information for C sources have DW_AT_language set
to D.
* importC: Segmentation fault initializing va_list with
__builtin_va_start
* importC: Error: cannot convert string literal to 'void*'
* Phobos regression fixes
* [REG2.069] TaskPool.reduce fails to compile "cannot get frame
pointer to D main"
* Phobos bug fixes
* OpenBSD: Add OpenBSD to std/system.d OS list
* Array!T.init.data crashes
* Phobos enhancements
* data should work with const/immutable Array's
* Nullable is not copyable when templated type has elaborate copy
ctor
* std.traits.fqnType is missing support for typeof(null)
* Druntime regression fixes
* [REG2.091] Wrong file read during exception stringification
leads to SIGBUS
* std.meta.allSatisfy in mutual recursion classes cannot be
compiled
* core.demangle does not support noreturn
* Druntime bug fixes
* Unify polyImpl implementations
* Remove useless conditional assignment of DISABLED_TESTS in
posix.mak
* Druntime enhancements
* Explicitly cast backtrace results to int
- Update to version 2.098.0
* Compiler changes
* Add Alias Assignment
* Accessing C Declarations From D Via ImportC Compiler
* Using the syntax (args) => {} now triggers a deprecation message
* Improvements for the C++ header generation
* -preview=dtorfields is now enabled by default
* Add .min, .max, etc. properties for vector types
* Using a mutable variable as a switch case now triggers an error
* Out of bounds array access now gives a better error message
* Class allocators have been removed from the language
* Initialization of immutable global data from static this now
triggers an error
* Add -target=<triple> for operating system, c, and c++ runtime
cross compilation
* Default initialization of union field that isn't the first member
now triggers an error
* Runtime changes
* TypeInfo names for aggregates are fully qualified and hence
unique now
* A concurrent GC for Posix systems
* Improve POSIX imports
* Library changes
* New function isValidCharacter in std.utf
* Dub changes
* Added support for environment variables to use compilation and
run (or test) option to the dub settings file and
dub.json/dub.sdl.
-------------------------------------------------------------------
Tue Jun 8 14:17:54 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 2.097.0
* Compiler changes
* Deprecation period for ambiguous ternary expressions has ended
* Usage of the body keyword has been deprecated
* Deprecate a case of using fully-qualified names to bypass imports
* Explicit package visibility attribute is now always applied to
new scopes
* pragma(mangle) can now be applied to aggregates
* Complex and imaginary types are now deprecated
* while (auto n = expression) is now supported
* Library changes
* Centering formatted output.
* AllImplicitConversionTargets replaces ImplicitConversionTargets
* Formatting integers with %e, %f, %g and %a is now possible.
* Implementation of pow(f, -2) and f ^^ -2 changed
* Deprecate std.format : enforceValidFormatSpec
* Deprecate std.format : formatElement
* Deprecate std.format : unformatElement
* FieldnameTuple now returns an empty tuple for interfaces
* Fields (formerly FieldTypeTuple) now returns an empty
tuple for interfaces
* Floating point numbers can be formatted at compile time
* Formatting floating point numbers don't allocate with the
GC anymore.
* Some reals will be downcast to double when used with
std.format.
* std.typecons.Nullable: Remove deprecated alias get this.
* Documentation of std.format has been completely reworked.
* Module std.format has been split into smaller modules
* Module std.math has been split into smaller modules
* splitWhen added to std.algorithm.iteration
* The old benchmarking functionality in std.datetime has been
removed.
* std.exception.enforceEx has been removed.
* New module: std.sumtype
* std.range.Transposed: Remove deprecated member save
* Dub changes
* Added support for low memory compilation option to the dub
settings file.
-------------------------------------------------------------------
Mon May 17 14:32:19 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 2.096.1
* Runtime changes:
* Variables suspendSignalNumber and resumeSignalNumber are now
private
* The druntime option callStructDtorsDuringGC has been removed
* Experimental llvm-libunwind based backtrace printing was added
* Library changes
* Return the number of characters consumed by std.conv.parse
* Deprecate std.stdio.getdelim and std.stdio.getline
* Add integer conversions in JSONValue.get
* Deprecate std.math : approxEqual
* Compiler changes
* Deprecate bypassing of symbol visibility when doing overload
resolution
* Deprecation triggered inside of templates now show instantiation
trace
* Improvements for the C++ header generation
* Diagnostics for conflicting function definitions within a module
* extern(Pascal) has been removed
* The compiler now accepts -extern-std=c++20
* C++ compability standard now c++11 by default
* Add -preview=inclusiveincontracts: in contracts must be an
explicit superset of the parent in contracts.
* Add support for Objective-C protocols
* Allow any compile-time argument in pragma(inline)
* Add __traits(getCppNamespaces, symbol) to retrieve the C++
namespaces a symbol resides in.
* DMD Compiler regressions / bugs:
* printf check does not recognize GNU extensions
* Function alias reported as conflicting function
* Slice assignment segmentation fault
* ssignment inside assert accepted if -checkaction=context
is given
* Struct dtor is called twice if struct is created inside
ternary operator
* Mangling problem wrt. backrefs and function types
* build.d install fails, can't find dmd.conf
* Constructor flow analysis doesn't understand unions
* Confusing error message for CTFE pointer in static initializer
* checkaction=context creates temporary of type void
* Overload selection ignores slice
* -preview=rvaluerefparam does not work with template deduction
* CTFE doesn't call base class destructor for extern(D) classes
* Wrong ParameterStorageClass when -preview=in is used
* Phobos enhancements / regression fixes:
* std.process.browse does not work with URLs 256 characters
or longer
* std.regex performance regression (additional GC allocation)
* Specifying null as bitfields variable name now fails
* avoid quadratic template expansion in constraints of multiple
search term versions of std.algorithm.searching.startsWith & endsWith
* casting std.BigInts to built-in floating point types
doesn't work without -preview=dip1000
* std.algorithm.mutation.copy fails on overlapping arrays if
the source array's pointer is less than the destination
array's pointer
* std.experimental.checkedint opBinaryRight with integer
left-hand side does not compile for any operators
* std.typecons.ReplaceType does not work for in parameters
* Deprecated Nullable.get warning with Appenders
* Druntime bugs / regression fixes:
* std.conv.emplace not usable in betterC - 2.096
* casWeak is not implemented
* joining a detached thread results in segfault.
* core.atomic.atomicFetchSub for pointers incorrectly calls
wrong function from core.internal.atomic
-------------------------------------------------------------------
Sun Dec 27 21:29:54 UTC 2020 - Matthias Eliasson <elimat@opensuse.org>
- Update to version 2.094.2
- Runtime changes:
* Support time64 changes for CRuntime_Musl
- DMD Compiler regressions:
* Delegate covariance broken between 2.092 and 2.094 (git master).
* False deprecation raised for templated overloaded struct method
- DMD Compiler bugs:
* Calling __traits(getUnitTests) on a template causes compiler segfault
* __traits(getUnitTests) should include unittests from anonymous mixins
* 'With()' statement ignores symbol visibility in some cases.
* Name clash between import and method triggers a segfault
- Phobos bugs:
* Segfault with Appender!string.init.toString()
* join can iterates ranges multiple times
* std.random.uniform!T(urng) when T is dchar disregards urng and always uses a thread-local random
* std.random.uniform!T() and std.random.uniform!T(urng) when T is dchar with any qualifiers can exceed dchar.max
- Druntime bugs:
* core.stdcpp.string.basic_string does not implement opEquals
* core.stdcpp.vector.vector does not implement opEquals
* TypeInfo.swap must not allow reachable memory to be freed if interrupted by a garbage collection pass
- refresh dmd_use_tarball_bootstrap.diff patch
-------------------------------------------------------------------
Wed Aug 14 13:12:57 UTC 2019 - Matthias Eliasson <elimat@opensuse.org>
- Update to version 2.087.1
- Runtime changes:
* Add all missing symbols to core.sys.darwin.mach.loader
- DMD Compiler regressions:
* ICE when taking address of member function passed as template parameter
* [REG] modification of member of a manifest constant that's also a struct is allowed
* POSIX: extern(C++, namespace) does not apply namespace to enum
* DMD Segfault in 2.087
* compiler segfaults on passing templates expression to lazy val
* [REG2.086] foreach no longer works on range with alias front
- DMD Compiler bugs:
* Templates inside templates used as mixins
* DMD segfault with circular template constraints
* [ICE] Internal error: ddmd/backend/cgcs.c 352 - CTFE appending to an array on a struct from a template
* Unable to remove a tuple from associative array.
* Can't use __traits(getAttributes, ...)[...] as a type
* access violation at compile time, possibly via template constraint and alias interaction
* Symbol not found: _dyld_enumerate_tlv_storage on macOS 10.15
* alias this combined with a copy constructor seems to lead to undefined behaviour.
* [ICE] Segmentation fault in ExpressionPrettyPrintVisitor::visit(IntegerExp*) at dmd/hdrgen.d:1775
* ICE from double template instantiation with getMember of overload of class and template function
* __vector CTFE crashes the compiler
* Compiler crash when using an opaque struct as template parameter
* bogus error: "integer constant expression expected instead of (uint).sizeof"
* [Windows] Program segfaults when running tests
* ICE in func literal used in __traits(compiles)
* SIMD 32 bytes causes obscure segfault
* [2.087.0] Mixin templates: no property somevar for type some.Type, did you mean some.Type.__anonymous.somevar
- DMD Compiler enhancements:
* Empty AliasSeq can't be used to form compiletime array literal
- Phobos bugs:
* std.variant.VariantN does not work with a class that inherits from a template instantiation
* ReplaceType replaces type with the type forwarding using alias this
* ReplaceType fails to compile for self-referential inheritance chains
* someAllocator.make!T doesn't compile if T is a shared value type
* [2.087.0] std.conv.toImpl matches two functions when using static arrays as inout( T )
- Phobos enhancements:
* RefCounted fails to instantiate due to pureness of moveEmplace
* Tuple.rename doesn't work with const
- Druntime bugs:
* retrying while pthread_cond_signal/pthread_cond_broadcast return EAGAIN
* object.destroy doesn't propagate attributes
- Add missing provides/obsoletes to the versioned phobos shared library package.
Accepting request 693899 from home:elimat:branches:devel:languages:D - Update to version 2.085.1 - DMD Compiler regressions: * DMD generates wrong code for some circular dependencies * D compiler fails to resolve circular module dependency when modules are compiled separately * D compiler fails to resolve circular module dependency when modules are compiled together * ICE on null default value for struct parameter in constructor * DMD 2.085 changes to gsroa make DCD crashing * Regression: wrong order of linker arguments, again: -L-l before -L--start-group * if (auto x) {} isn't properly rejected * DMD fails to compile some circular dependencies spiced with is (T == super) condition * [Reg v2.070.2] DMD fails with some circular module refs with Template/Mixin instances - DMD Compiler bugs: * wrong codegen for destructor call of unnamed struct instance on 64 bit environments * case of undetected circular reference in function parameter * ICE with multiple mixin templates containing conflicting ctor declarations * Segfault when types are used in array literals * DMD crash due to circular reference in function return type * -checkaction=context not working with attributes * [2.085.0-beta.2] Obj-C wrong code overloading selectors and extern(D) * case of segfault due to undetected forward reference * Compiler crash * crash on invalid initializer at CTFE * ICE on invalid code - Phobos regressions: * VariantN has unittests that are compiled into user modules - Phobos bugs: * std.algorithm.searching.findAmong doesn't save like it should - Druntime bugs: * wrong time values in GC.profileStats OBS-URL: https://build.opensuse.org/request/show/693899 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=76
2019-04-13 10:20:24 +00:00
-------------------------------------------------------------------
Sat Apr 13 10:01:13 UTC 2019 - Matthias Eliasson <elimat@opensuse.org>
- Update to version 2.085.1
- DMD Compiler regressions:
* DMD generates wrong code for some circular dependencies
* D compiler fails to resolve circular module dependency when modules are compiled separately
* D compiler fails to resolve circular module dependency when modules are compiled together
* ICE on null default value for struct parameter in constructor
* DMD 2.085 changes to gsroa make DCD crashing
* Regression: wrong order of linker arguments, again: -L-l before -L--start-group
* if (auto x) {} isn't properly rejected
* DMD fails to compile some circular dependencies spiced with is (T == super) condition
* [Reg v2.070.2] DMD fails with some circular module refs with Template/Mixin instances
- DMD Compiler bugs:
* wrong codegen for destructor call of unnamed struct instance on 64 bit environments
* case of undetected circular reference in function parameter
* ICE with multiple mixin templates containing conflicting ctor declarations
* Segfault when types are used in array literals
* DMD crash due to circular reference in function return type
* -checkaction=context not working with attributes
* [2.085.0-beta.2] Obj-C wrong code overloading selectors and extern(D)
* case of segfault due to undetected forward reference
* Compiler crash
* crash on invalid initializer at CTFE
* ICE on invalid code
- Phobos regressions:
* VariantN has unittests that are compiled into user modules
- Phobos bugs:
* std.algorithm.searching.findAmong doesn't save like it should
- Druntime bugs:
* wrong time values in GC.profileStats
Accepting request 685838 from home:elimat:branches:devel:languages:D - Update to version 2.085.0 - Compiler changes: * Add support for Objective-C classes * Add support for Objective-C instance variable * Add support for Objective-C super calls * Deprecate Objective-C interfaces * Context-aware assertion error messages * Avoid calling the struct constructor from const-casts * dmd now supports expressive diagnostic error messages with -verrors=context * memcmp() compares are no longer performed for struct equality tests, memberwise comparisons are done instead, per the spec * OSX 32-bit is no longer supported * -preview and -revert command line switches have been introduced * Transition to C++11 character types - Runtime changes: * Added GC.profileStats() to core.memory * Added core.stdcpp.new_ * Added core.sys.linux.sched.CPU_COUNT. * Added core.sys.linux.sched.CPU_ISSET. * Moved std.conv.emplace, std.algorithm.mutation.move, std.algorithm.mutation.moveEmplace, and std.functional.forward to core/lifetime.d * GC cleanup can now be configured as a DRT GC option * A garbage collector with precise heap scanning can now be selected * GC.realloc is now more consistent and robust * User supplied garbage collectors can now be linked with the runtime * Added core.stdcpp.allocator * char/wchar fields in most D runtime (core.* and rt.*) structs are now zero-initialized OBS-URL: https://build.opensuse.org/request/show/685838 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=74
2019-03-17 16:00:01 +00:00
-------------------------------------------------------------------
Sun Mar 17 15:50:10 UTC 2019 - Matthias Eliasson <elimat@opensuse.org>
- Update to version 2.085.0
- Compiler changes:
* Add support for Objective-C classes
* Add support for Objective-C instance variable
* Add support for Objective-C super calls
* Deprecate Objective-C interfaces
* Context-aware assertion error messages
* Avoid calling the struct constructor from const-casts
* dmd now supports expressive diagnostic error messages with -verrors=context
* memcmp() compares are no longer performed for struct equality tests, memberwise comparisons are done instead, per the spec
* OSX 32-bit is no longer supported
* -preview and -revert command line switches have been introduced
* Transition to C++11 character types
- Runtime changes:
* Added GC.profileStats() to core.memory
* Added core.stdcpp.new_
* Added core.sys.linux.sched.CPU_COUNT.
* Added core.sys.linux.sched.CPU_ISSET.
* Moved std.conv.emplace, std.algorithm.mutation.move, std.algorithm.mutation.moveEmplace, and std.functional.forward to core/lifetime.d
* GC cleanup can now be configured as a DRT GC option
* A garbage collector with precise heap scanning can now be selected
* GC.realloc is now more consistent and robust
* User supplied garbage collectors can now be linked with the runtime
* Added core.stdcpp.allocator
* char/wchar fields in most D runtime (core.* and rt.*) structs are now zero-initialized
-------------------------------------------------------------------
Accepting request 676699 from home:elimat:branches:devel:languages:D - Update to version 2.084.1 - Compiler bugs * -check=in=off doesn't work * corrupt ELF library when using pragma(crt_constructor) - Compiler enhancements * Shared object "libstdc++.so.6" not found, required by "dmd" ----- -------------------------------------------------------------- - Update to version 2.084.0 - Compiler changes * Aliases can be created directly from a __trait. * Added -check switch to turn on and off each category of runtime checks. * Add -checkaction=D|C|halt compiler switch. * -color and -color=on will now always output colorized console output * The code generated by mixin statements can now be saved with -mixin * Deprecate invalid binary literals * Deprecated extern(Pascal) linkage * The deprecation phase for fully qualified names that bypassed private imports is finished * Templates are now mangled correctly on POSIX * Added __c_wchar_t as a correct mangling type for C's wchar_t - Runtime changes * Added core.stdcpp.array. * Add D header file core.sys.darwin.crt_externs for libc/crt_externs.h on Darwin. * Added initialize template argument to object.destroy(). * Added core.stdcpp.string_view. - Library changes * Add overload std.random.unpredictableSeed!UIntType - Update to version 2.083.0 - Compiler changes * Add CppRuntime_* version identifiers * Deprecated CLI switch -gc have been removed * Expose __traits(isZeroInit, T) * Implement new C++ mangling syntax * Add pragma(linkerDirective), to emit linker directives into object files * fix Issue 14246 - RAII - proper destruction of partially constructed objects * Add __traits(getTargetInfo, "key") to query details about the compilation target - Library changes * std.algorithm.iteration.each is now capable of early-stopping * toHash function has been added to std.experimental.checkedint.Checked - Update to 2.082.1 - DMD Compiler regressions * Could not CTFE with std.math.exp from 2.082.0 * [REG 2.081] Can no longer override pragma(lib) with -L switch * Some source files names are no longer accepted - Phobos regressions * Templated format with variable width allocates 2GB of RAM per call. - Phobos bugs * std.net.curl.post cannot be used with !ubyte * std.algorithm.subsitute wrong results for single subrange substitution - 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) OBS-URL: https://build.opensuse.org/request/show/676699 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=72
2019-02-16 19:51:23 +00:00
Sat Feb 16 19:19:18 UTC 2019 - Matthias Eliasson <matthias.eliasson@gmail.com>
- Update to version 2.084.1
- Compiler bugs
* -check=in=off doesn't work
* corrupt ELF library when using pragma(crt_constructor)
- Compiler enhancements
* Shared object "libstdc++.so.6" not found, required by "dmd"
----- --------------------------------------------------------------
Sat Jan 5 18:56:40 UTC 2019 - Matthias Eliasson <matthias.eliasson@gmail.com>
- Update to version 2.084.0
- Compiler changes
* Aliases can be created directly from a __trait.
* Added -check switch to turn on and off each category of runtime checks.
* Add -checkaction=D|C|halt compiler switch.
* -color and -color=on will now always output colorized console output
* The code generated by mixin statements can now be saved with -mixin
* Deprecate invalid binary literals
* Deprecated extern(Pascal) linkage
* The deprecation phase for fully qualified names that bypassed private imports is finished
* Templates are now mangled correctly on POSIX
* Added __c_wchar_t as a correct mangling type for C's wchar_t
- Runtime changes
* Added core.stdcpp.array.
* Add D header file core.sys.darwin.crt_externs for libc/crt_externs.h on Darwin.
* Added initialize template argument to object.destroy().
* Added core.stdcpp.string_view.
- Library changes
* Add overload std.random.unpredictableSeed!UIntType
-------------------------------------------------------------------
Wed Dec 5 21:38:53 UTC 2018 - Matthias Eliasson <matthias.eliasson@gmail.com>
- Update to version 2.083.0
- Compiler changes
* Add CppRuntime_* version identifiers
* Deprecated CLI switch -gc have been removed
* Expose __traits(isZeroInit, T)
* Implement new C++ mangling syntax
* Add pragma(linkerDirective), to emit linker directives into object files
* fix Issue 14246 - RAII - proper destruction of partially constructed objects
* Add __traits(getTargetInfo, "key") to query details about the compilation target
- Library changes
* std.algorithm.iteration.each is now capable of early-stopping
* toHash function has been added to std.experimental.checkedint.Checked
-------------------------------------------------------------------
Sun Oct 14 14:14:28 UTC 2018 - Matthias Eliasson <matthias.eliasson@gmail.com>
- Update to 2.082.1
- DMD Compiler regressions
* Could not CTFE with std.math.exp from 2.082.0
* [REG 2.081] Can no longer override pragma(lib) with -L switch
* Some source files names are no longer accepted
- Phobos regressions
* Templated format with variable width allocates 2GB of RAM per call.
- Phobos bugs
* std.net.curl.post cannot be used with !ubyte
* std.algorithm.subsitute wrong results for single subrange substitution
Accepting request 634594 from home:elimat:branches:devel:languages:D - 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. OBS-URL: https://build.opensuse.org/request/show/634594 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=64
2018-09-09 16:08:07 +00:00
-------------------------------------------------------------------
Sun Sep 9 14:42:27 UTC 2018 - Matthias Eliasson <matthias.eliasson@gmail.com>
- 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.
-------------------------------------------------------------------
Sat Aug 18 21:58:23 UTC 2018 - matthias.eliasson@gmail.com
- 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
Accepting request 621464 from home:elimat:branches:devel:languages:D - 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. OBS-URL: https://build.opensuse.org/request/show/621464 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=60
2018-07-07 20:49:25 +00:00
-------------------------------------------------------------------
Sat Jul 7 11:29:06 UTC 2018 - matthias.eliasson@gmail.com
- 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.
-------------------------------------------------------------------
Fri Jun 8 18:58:38 UTC 2018 - matthias.eliasson@gmail.com
- 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
-------------------------------------------------------------------
Mon May 7 21:57:22 UTC 2018 - matthias.eliasson@gmail.com
- Update to 2.080.0
See the full changelog here:
https://dlang.org/changelog/2.080.0.html
- Refresh dmd_use_tarball_bootstrap.diff
-------------------------------------------------------------------
Mon Apr 16 19:59:33 UTC 2018 - matthias.eliasson@gmail.com
- 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
-------------------------------------------------------------------
Tue Apr 10 18:44:15 UTC 2018 - matthias.eliasson@gmail.com
- Enable auto_bootstrap for Tumbleweed to get successful builds
- Run spec-cleaner
-------------------------------------------------------------------
Fri Mar 30 11:45:28 UTC 2018 - guillaume.gardet@opensuse.org
- Build only for %ix86 and x86_64 since other arch cannot be boostrapped
-------------------------------------------------------------------
Mon Mar 5 21:07:47 UTC 2018 - matthias.eliasson@gmail.com
- 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.
-------------------------------------------------------------------
Thu Mar 1 22:10:30 UTC 2018 - matthias.eliasson@gmail.com
- Enable auto_bootrap for Leap 15.0
- Add !buildignore gcc-PIE for i586 arch since it will not compile on i586 with PIE enabled
-------------------------------------------------------------------
Sun Feb 18 19:26:49 UTC 2018 - matthias.eliasson@gmail.com
- 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
-------------------------------------------------------------------
Sun Feb 11 15:03:55 UTC 2018 - matthias.eliasson@gmail.com
- 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
-------------------------------------------------------------------
Wed Jan 24 20:19:25 UTC 2018 - matthias.eliasson@gmail.com
- 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
-------------------------------------------------------------------
Sat Jan 13 22:45:17 UTC 2018 - matthias.eliasson@gmail.com
- 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
-------------------------------------------------------------------
Mon Jan 1 22:24:59 UTC 2018 - matthias.eliasson@gmail.com
- Enable PIC and set Model=32 for i586 builds
- Disable auto_bootstrap
-------------------------------------------------------------------
Tue Dec 12 21:39:28 UTC 2017 - matthias.eliasson@gmail.com
- Enable auto_bootstrap to make it build on i586.
-------------------------------------------------------------------
Sat Dec 9 22:57:27 UTC 2017 - matthias.eliasson@gmail.com
- 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.
-------------------------------------------------------------------
Fri Nov 17 15:05:32 UTC 2017 - joop.boonen@opensuse.org
- Added missing LICENSE.txt to docs
- Improved the spec file
-------------------------------------------------------------------
Sun Nov 5 23:26:15 UTC 2017 - matthias.eliasson@gmail.com
- 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
-------------------------------------------------------------------
Thu Oct 26 11:52:06 UTC 2017 - joop.boonen@opensuse.org
- 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
-------------------------------------------------------------------
Fri Jun 9 08:57:27 UTC 2017 - jengelh@inai.de
- Rework description
-------------------------------------------------------------------
Fri May 26 19:50:14 UTC 2017 - mailaender@opensuse.org
- Update to 2.073.2
- https://en.opensuse.org/SourceUrls
-------------------------------------------------------------------
Sat Mar 11 08:33:31 UTC 2017 - matthias.eliasson@gmail.com
- Update to 2.073.1
-------------------------------------------------------------------
Thu Apr 7 10:44:55 UTC 2016 - schuetzm@gmx.net
- 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
-------------------------------------------------------------------
Fri Mar 4 13:36:02 UTC 2016 - schuetzm@gmx.net
- 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
-------------------------------------------------------------------
Sun Feb 28 12:59:37 UTC 2016 - schuetzm@gmx.net
- Update to 2.070.1
This is a bugfix release, see the changelog for details:
http://dlang.org/changelog/2.070.1.html
-------------------------------------------------------------------
Thu Jan 28 18:58:37 UTC 2016 - schuetzm@gmx.net
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
-------------------------------------------------------------------
Thu Dec 3 12:31:48 UTC 2015 - schuetzm@gmx.net
Update to 2.069.2
This is a bugfix release, see the changelog for details:
http://dlang.org/changelog/2.069.2.html
-------------------------------------------------------------------
Thu Nov 5 10:02:51 UTC 2015 - schuetzm@gmx.net
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
-------------------------------------------------------------------
Thu Sep 24 11:09:55 UTC 2015 - schuetzm@gmx.net
- 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
-------------------------------------------------------------------
Mon Sep 7 17:28:50 UTC 2015 - schuetzm@gmx.net
- update to 2.068.1
- Fixes bugs and regressions in 2.068.0
-------------------------------------------------------------------
Mon Aug 10 13:10:13 UTC 2015 - schuetzm@gmx.net
- update to 2.068.0
Notable changes:
- many rangified phobos functions
- 2 new GC profilers
- a new AA implementation
- countless further improvements and fixes
-------------------------------------------------------------------
Sun Jun 7 12:41:55 UTC 2015 - schuetzm@gmx.net
- update to 2.067.1
-------------------------------------------------------------------
Wed Mar 25 12:47:15 UTC 2015 - schuetzm@gmx.net
- update to 2.067.0
-------------------------------------------------------------------
Tue Nov 25 14:53:57 UTC 2014 - pastas4@gmail.com
- add a valid dmd.conf file (from upstream)
- recommend phobos-devel
-------------------------------------------------------------------
Sun Nov 16 09:49:39 UTC 2014 - mailaender@opensuse.org
- 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
-------------------------------------------------------------------
Sun Nov 16 07:45:00 UTC 2014 - pastas4@gmail.com
- update to 2.066.1
-------------------------------------------------------------------
Sun Jun 30 15:15:43 UTC 2013 - seife+obs@b1-systems.com
- fix license tag, Boost -> BSL-1.0
-------------------------------------------------------------------
Sat May 19 20:34:56 UTC 2012 - opensuse@dstoecker.de
- add config file for include paths
- update to 2.059
-------------------------------------------------------------------
Fri Mar 23 01:47:21 UTC 2012 - jengelh@medozas.de
- Parallel build with %_smp_mflags; strip redundant sections/tags
- SPDX license field
-------------------------------------------------------------------
Thu May 19 13:28:37 UTC 2011 - prusnak@opensuse.org
- created package (version 2.053)