File dmd.changes of Package dmd

-------------------------------------------------------------------
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 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.


-------------------------------------------------------------------
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.

-------------------------------------------------------------------
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

-------------------------------------------------------------------
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

-------------------------------------------------------------------
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

-------------------------------------------------------------------
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

-------------------------------------------------------------------
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)

openSUSE Build Service is sponsored by