Hello community,

here is the log from the commit of package dmd for openSUSE:Factory checked in 
at 2019-02-17 12:21:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dmd (Old)
 and      /work/SRC/openSUSE:Factory/.dmd.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dmd"

Sun Feb 17 12:21:55 2019 rev:23 rq:676700 version:2.084.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/dmd/dmd.changes  2019-01-08 12:30:59.636107667 
+0100
+++ /work/SRC/openSUSE:Factory/.dmd.new.28833/dmd.changes       2019-02-17 
12:21:56.796190560 +0100
@@ -1,0 +2,10 @@
+Sat Feb 16 19:19:18 UTC 2019 - Matthias Eliasson <matthias.elias...@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"
+
+-----  --------------------------------------------------------------

Old:
----
  dmd-2.084.0.tar.gz
  druntime-2.084.0.tar.gz
  phobos-2.084.0.tar.gz

New:
----
  dmd-2.084.1.tar.gz
  druntime-2.084.1.tar.gz
  phobos-2.084.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dmd.spec ++++++
--- /var/tmp/diff_new_pack.HYVmlI/_old  2019-02-17 12:21:58.148190188 +0100
+++ /var/tmp/diff_new_pack.HYVmlI/_new  2019-02-17 12:21:58.152190187 +0100
@@ -20,7 +20,7 @@
 %define sover  0_84
 %define auto_bootstrap 1
 Name:           dmd
-Version:        2.084.0
+Version:        2.084.1
 Release:        0
 Summary:        D Programming Language 2.0
 License:        BSL-1.0

++++++ dmd-2.084.0.tar.gz -> dmd-2.084.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/VERSION new/dmd-2.084.1/VERSION
--- old/dmd-2.084.0/VERSION     2019-01-02 00:48:03.000000000 +0100
+++ new/dmd-2.084.1/VERSION     2019-02-09 21:52:02.000000000 +0100
@@ -1 +1 @@
-v2.084.0
+v2.084.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/changelog/alias_from_trait.dd 
new/dmd-2.084.1/changelog/alias_from_trait.dd
--- old/dmd-2.084.0/changelog/alias_from_trait.dd       2019-01-02 
00:48:03.000000000 +0100
+++ new/dmd-2.084.1/changelog/alias_from_trait.dd       1970-01-01 
01:00:00.000000000 +0100
@@ -1,27 +0,0 @@
-Aliases can be created directly from a `__trait`.
-
-Aliases can be created directly from the traits that return symbol(s) or 
tuples.
-This includes `getMember`, `allMembers`, `derivedMembers`, `parent`, 
`getOverloads`,
-`getVirtualFunctions`, `getVirtualMethods`, `getUnitTests`, `getAttributes` 
and finally `getAliasThis`.
-Previously an `AliasSeq` was necessary in order to alias their return.
-Now the grammar allows to write shorter declarations:
-
----
-struct Foo
-{
-    static int a;
-}
-
-alias oldWay = AliasSeq!(__traits(getMember, Foo, "a"))[0];
-alias newWay = __traits(getMember, Foo, "a");
----
-
-To permit this it was more interesting to include `__trait` in the basic types
-rather than just changing the alias syntax. So additionally, wherever a type 
appears
-a `__trait` can be used, for example in a variable declaration:
-
----
-struct Foo { static struct Bar {} }
-const(__traits(getMember, Foo, "Bar")) fooBar;
-static assert(is(typeof(fooBar) == const(Foo.Bar)));
----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/changelog/check-switch.dd 
new/dmd-2.084.1/changelog/check-switch.dd
--- old/dmd-2.084.0/changelog/check-switch.dd   2019-01-02 00:48:03.000000000 
+0100
+++ new/dmd-2.084.1/changelog/check-switch.dd   1970-01-01 01:00:00.000000000 
+0100
@@ -1,18 +0,0 @@
-Added -check switch to turn on and off each category of runtime checks.
-
-        Option("check=[assert|bounds|in|invariant|out|switch][=[on|off]]",
-            `Overrides default, -boundscheck, -release and -unittest options 
to enable or disable specific checks.
-                $(UL
-                    $(LI $(B assert): assertion checking)
-                    $(LI $(B bounds): array bounds)
-                    $(LI $(B in): in contracts)
-                    $(LI $(B invariant): class/struct invariants)
-                    $(LI $(B out): out contracts)
-                    $(LI $(B switch): switch default)
-                )
-                $(UL
-                    $(LI $(B on) or not specified: specified check is enabled.)
-                    $(LI $(B off): specified check is disabled.)
-                )`
-        )
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/changelog/checkaction.dd 
new/dmd-2.084.1/changelog/checkaction.dd
--- old/dmd-2.084.0/changelog/checkaction.dd    2019-01-02 00:48:03.000000000 
+0100
+++ new/dmd-2.084.1/changelog/checkaction.dd    1970-01-01 01:00:00.000000000 
+0100
@@ -1,8 +0,0 @@
-Add `-checkaction=D|C|halt` compiler switch.
-
-It covers action taken when an assert fails, a bounds check fails,
-or a final switch error happens. D means the usual D behavior of
-throwing an `Error`, C means call the C runtime library assert failure
-function, and halt means halt the program execution.
-
-The halt is the main addition here, it enables very lightweight assert's.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/changelog/color.dd 
new/dmd-2.084.1/changelog/color.dd
--- old/dmd-2.084.0/changelog/color.dd  2019-01-02 00:48:03.000000000 +0100
+++ new/dmd-2.084.1/changelog/color.dd  1970-01-01 01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-`-color` and `-color=on` will now always output colorized console output
-
-Before this release `-color` wouldn't output colorized console output if
-the terminal detection failed.
-With this release, a new option `auto` is introduced for `-color=<value>`
-which will continue to be the default:
-
-$(UL
-    $(LI `auto`: enable colorized output if a tty is detected (default))
-    $(LI `on`: always use colored output.)
-    $(LI `off`: never use colored output.)
-)
-
-Hence, it is now possible to use `-color` (a shortcut for `-color=on`) to
-force DMD to emit colorized console output.
-For example, this will now use colorized console output:
-
-$(CONSOLE
-> echo $(DOLLAR)(echo "test" | dmd -color - 2>&1)
-__stdin.d(2): $(RED Error): no identifier for declarator $(B test)
-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/changelog/debugmixins.dd 
new/dmd-2.084.1/changelog/debugmixins.dd
--- old/dmd-2.084.0/changelog/debugmixins.dd    2019-01-02 00:48:03.000000000 
+0100
+++ new/dmd-2.084.1/changelog/debugmixins.dd    1970-01-01 01:00:00.000000000 
+0100
@@ -1,3 +0,0 @@
-The code generated by `mixin` statements can now be saved with -mixin
-
-This is useful to debug errors in compilation and provides source for 
debuggers to show when requested.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/changelog/deprecated_binary_literals.dd 
new/dmd-2.084.1/changelog/deprecated_binary_literals.dd
--- old/dmd-2.084.0/changelog/deprecated_binary_literals.dd     2019-01-02 
00:48:03.000000000 +0100
+++ new/dmd-2.084.1/changelog/deprecated_binary_literals.dd     1970-01-01 
01:00:00.000000000 +0100
@@ -1,9 +0,0 @@
-Deprecate invalid binary literals
-
-Prior to this release, binary literals without any digits after the prefix `0b`
-were considered valid. This has now been deprecated.
----
-auto foo = 0b;   // deprecated
-auto bar = 0b_;  // deprecated
-auto baz = 0b0;  // conforming equivalent
----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/changelog/deprecated_extern_pascal.dd 
new/dmd-2.084.1/changelog/deprecated_extern_pascal.dd
--- old/dmd-2.084.0/changelog/deprecated_extern_pascal.dd       2019-01-02 
00:48:03.000000000 +0100
+++ new/dmd-2.084.1/changelog/deprecated_extern_pascal.dd       1970-01-01 
01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-Deprecated `extern(Pascal)` linkage
-
-This linkage is completely unused, being an heritage from a few decades ago.
-Additionally, it's only supported by DMD and cause mangling ambiguity.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dmd-2.084.0/changelog/fqn_imports_bypass_private_imports_error.dd 
new/dmd-2.084.1/changelog/fqn_imports_bypass_private_imports_error.dd
--- old/dmd-2.084.0/changelog/fqn_imports_bypass_private_imports_error.dd       
2019-01-02 00:48:03.000000000 +0100
+++ new/dmd-2.084.1/changelog/fqn_imports_bypass_private_imports_error.dd       
1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
-The deprecation phase for fully qualified names that bypassed private imports 
is finished
-
----
-// a.d
-import std.stdio;
----
-
----
-// b.d
-import a;
-
-void main()
-{
-    std.stdio.writefln("foo");         // deprecation before patch, now errors
-}
----
-
-In order to compile the example successfully, `public` needs to be added
-to the import located in `a.d` : `public import std.stdio;` or `import 
std.stdio;`
-needs to be added to `b.d`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/changelog/posix_cpp_template_mangling.dd 
new/dmd-2.084.1/changelog/posix_cpp_template_mangling.dd
--- old/dmd-2.084.0/changelog/posix_cpp_template_mangling.dd    2019-01-02 
00:48:03.000000000 +0100
+++ new/dmd-2.084.1/changelog/posix_cpp_template_mangling.dd    1970-01-01 
01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-Templates are now mangled correctly on POSIX
-
-Before this version, anything including `extern(C++)` templates
-was not correctly mangled on OSX, Linux, and FreeBSD, leading to linker errors.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/changelog/wchar_t.dd 
new/dmd-2.084.1/changelog/wchar_t.dd
--- old/dmd-2.084.0/changelog/wchar_t.dd        2019-01-02 00:48:03.000000000 
+0100
+++ new/dmd-2.084.1/changelog/wchar_t.dd        1970-01-01 01:00:00.000000000 
+0100
@@ -1,5 +0,0 @@
-Added `__c_wchar_t` as a correct mangling type for C's `wchar_t`
-
-This allows code interfacing with C++ that uses `wchar_t` to link correctly.
-It replaces `wchar` (Windows) and `dchar` (Posix) as the memory type for the
-DRuntime alias `wchar_t`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/src/dmd/backend/elfobj.d 
new/dmd-2.084.1/src/dmd/backend/elfobj.d
--- old/dmd-2.084.0/src/dmd/backend/elfobj.d    2019-01-02 00:48:03.000000000 
+0100
+++ new/dmd-2.084.1/src/dmd/backend/elfobj.d    2019-02-09 21:52:02.000000000 
+0100
@@ -1959,9 +1959,12 @@
     }
     assert(seg_count < seg_max);
     if (!SegData[seg])
-    {   SegData[seg] = cast(seg_data *)mem_calloc((seg_data).sizeof);
+    {
+        SegData[seg] = cast(seg_data *)mem_calloc(seg_data.sizeof);
         //printf("test2: SegData[%d] = %p\n", seg, SegData[seg]);
     }
+    else
+        memset(SegData[seg], 0, seg_data.sizeof);
 
     seg_data *pseg = SegData[seg];
     pseg.SDseg = seg;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/src/dmd/parse.d 
new/dmd-2.084.1/src/dmd/parse.d
--- old/dmd-2.084.0/src/dmd/parse.d     2019-01-02 00:48:03.000000000 +0100
+++ new/dmd-2.084.1/src/dmd/parse.d     2019-02-09 21:52:02.000000000 +0100
@@ -239,15 +239,18 @@
 
     // write by line to create consistent line endings
     size_t lastpos = 0;
-    foreach (i,c; s)
+    for (size_t i = 0; i < s.length; ++i)
     {
         // detect LF and CRLF
+        const c = s[i];
         if (c == '\n' || (c == '\r' && i+1 < s.length && s[i+1] == '\n'))
         {
             ob.writestring(s[lastpos .. i]);
             ob.writenl();
             global.params.mixinLines++;
-            lastpos = i + (c == '\r' ? 2 : 1);
+            if (c == '\r')
+                ++i;
+            lastpos = i + 1;
         }
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/src/dmd/semantic3.d 
new/dmd-2.084.1/src/dmd/semantic3.d
--- old/dmd-2.084.0/src/dmd/semantic3.d 2019-01-02 00:48:03.000000000 +0100
+++ new/dmd-2.084.1/src/dmd/semantic3.d 2019-02-09 21:52:02.000000000 +0100
@@ -529,7 +529,7 @@
                     if (auto s = funcdecl.fensure.isScopeStatement())
                         fensure_endlin = s.endloc.linnum;
 
-                if ((needEnsure && global.params.useOut) || fpostinv)
+                if ((needEnsure && global.params.useOut == CHECKENABLE.on) || 
fpostinv)
                 {
                     funcdecl.returnLabel = new LabelDsymbol(Id.returnLabel);
                 }
@@ -903,7 +903,7 @@
 
                 sc2 = sc2.pop();
 
-                if (!global.params.useIn)
+                if (global.params.useIn == CHECKENABLE.off)
                     freq = null;
             }
             if (fens)
@@ -937,7 +937,7 @@
 
                 sc2 = sc2.pop();
 
-                if (!global.params.useOut)
+                if (global.params.useOut == CHECKENABLE.off)
                     fens = null;
             }
             if (funcdecl.fbody && funcdecl.fbody.isErrorStatement())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/src/posix.mak 
new/dmd-2.084.1/src/posix.mak
--- old/dmd-2.084.0/src/posix.mak       2019-01-02 00:48:03.000000000 +0100
+++ new/dmd-2.084.1/src/posix.mak       2019-02-09 21:52:02.000000000 +0100
@@ -457,21 +457,21 @@
        $(AR) rcs $@ $(G_OBJS) $(G_DOBJS)
 
 $G/lexer.a: $(LEXER_SRCS) $(LEXER_ROOT) $(HOST_DMD_PATH) $(SRC_MAKE) 
$(STRING_IMPORT_FILES)
-       CC="$(HOST_CXX)" $(HOST_DMD_RUN) -lib -of$@ $(MODEL_FLAG) -J$G 
-L-lstdc++ $(DFLAGS) $(LEXER_SRCS) $(LEXER_ROOT)
+       $(HOST_DMD_RUN) -lib -of$@ $(MODEL_FLAG) -J$G $(DFLAGS) $(LEXER_SRCS) 
$(LEXER_ROOT)
 
 $G/dmd_frontend: $(FRONT_SRCS) $D/gluelayer.d $(ROOT_SRCS) $G/lexer.a 
$(STRING_IMPORT_FILES) $(HOST_DMD_PATH)
-       CC="$(HOST_CXX)" $(HOST_DMD_RUN) -of$@ $(MODEL_FLAG) -vtls -J$G 
-J$(RES) -L-lstdc++ $(DFLAGS) $(filter-out $(STRING_IMPORT_FILES) 
$(HOST_DMD_PATH),$^) -version=NoBackend
+       $(HOST_DMD_RUN) -of$@ $(MODEL_FLAG) -vtls -J$G -J$(RES) $(DFLAGS) 
$(filter-out $(STRING_IMPORT_FILES) $(HOST_DMD_PATH),$^) -version=NoBackend
 
 ifdef ENABLE_LTO
 $G/dmd: $(DMD_SRCS) $(ROOT_SRCS) $G/lexer.a $(G_OBJS) $(G_DOBJS) 
$(STRING_IMPORT_FILES) $(HOST_DMD_PATH) $G/dmd.conf
-       CC="$(HOST_CXX)" $(HOST_DMD_RUN) -of$@ $(MODEL_FLAG) -vtls -J$G 
-J$(RES) -L-lstdc++ $(DFLAGS) $(filter-out $(STRING_IMPORT_FILES) 
$(HOST_DMD_PATH) $G/dmd.conf,$^)
+       $(HOST_DMD_RUN) -of$@ $(MODEL_FLAG) -vtls -J$G -J$(RES) $(DFLAGS) 
$(filter-out $(STRING_IMPORT_FILES) $(HOST_DMD_PATH) $G/dmd.conf,$^)
 else
 $G/dmd: $(DMD_SRCS) $(ROOT_SRCS) $G/backend.a $G/lexer.a 
$(STRING_IMPORT_FILES) $(HOST_DMD_PATH) $G/dmd.conf
-       CC="$(HOST_CXX)" $(HOST_DMD_RUN) -of$@ $(MODEL_FLAG) -vtls -J$G 
-J$(RES) -L-lstdc++ $(DFLAGS) $(filter-out $(STRING_IMPORT_FILES) 
$(HOST_DMD_PATH) $(LEXER_ROOT) $G/dmd.conf,$^)
+       $(HOST_DMD_RUN) -of$@ $(MODEL_FLAG) -vtls -J$G -J$(RES) $(DFLAGS) 
$(filter-out $(STRING_IMPORT_FILES) $(HOST_DMD_PATH) $(LEXER_ROOT) 
$G/dmd.conf,$^)
 endif
 
 $G/dmd-unittest: $(DMD_SRCS) $(ROOT_SRCS) $(LEXER_SRCS) $(G_OBJS) $(G_DOBJS) 
$(STRING_IMPORT_FILES) $(HOST_DMD_PATH)
-       CC=$(HOST_CXX) $(HOST_DMD_RUN) -of$@ $(MODEL_FLAG) -vtls -J$G -J$(RES) 
-L-lstdc++ $(DFLAGS) -g -unittest -main -version=NoMain $(filter-out 
$(STRING_IMPORT_FILES) $(HOST_DMD_PATH),$^)
+       $(HOST_DMD_RUN) -of$@ $(MODEL_FLAG) -vtls -J$G -J$(RES) $(DFLAGS) -g 
-unittest -main -version=NoMain $(filter-out $(STRING_IMPORT_FILES) 
$(HOST_DMD_PATH),$^)
 
 unittest: $G/dmd-unittest
        $<
@@ -482,10 +482,10 @@
 PARSER_SRCS=$(addsuffix .d, $(addprefix $D/,parse astbase parsetimevisitor 
transitivevisitor permissivevisitor strictvisitor utils))
 
 $G/parser.a: $(PARSER_SRCS) $(LEXER_SRCS) $(ROOT_SRCS) $G/dmd $G/dmd.conf 
$(SRC_MAKE)
-       CC="$(HOST_CXX)" $G/dmd -lib -of$@ $(MODEL_FLAG) -L-lstdc++ -J$G 
$(DFLAGS) $(PARSER_SRCS) $(LEXER_SRCS) $(ROOT_SRCS)
+       $G/dmd -lib -of$@ $(MODEL_FLAG) -J$G $(DFLAGS) $(PARSER_SRCS) 
$(LEXER_SRCS) $(ROOT_SRCS)
 
 $G/examples/%: $(EX)/%.d $G/parser.a $G/dmd
-       CC="$(HOST_CXX)" $G/dmd -of$@ $(MODEL_FLAG) $(DFLAGS) $G/parser.a $<
+       $G/dmd -of$@ $(MODEL_FLAG) $(DFLAGS) $G/parser.a $<
 
 build-examples: $(EXAMPLES)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dmd-2.084.0/test/compilable/extra-files/ddocYear.html 
new/dmd-2.084.1/test/compilable/extra-files/ddocYear.html
--- old/dmd-2.084.0/test/compilable/extra-files/ddocYear.html   2019-01-02 
00:48:03.000000000 +0100
+++ new/dmd-2.084.1/test/compilable/extra-files/ddocYear.html   2019-02-09 
21:52:02.000000000 +0100
@@ -523,7 +523,7 @@
   <section class="section ddoc_sections">
   <div class="ddoc_summary">
   <p class="para">
-    2018
+    __YEAR__
   </p>
 </div>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/test/runnable/extra-files/lib18456b.d 
new/dmd-2.084.1/test/runnable/extra-files/lib18456b.d
--- old/dmd-2.084.0/test/runnable/extra-files/lib18456b.d       1970-01-01 
01:00:00.000000000 +0100
+++ new/dmd-2.084.1/test/runnable/extra-files/lib18456b.d       2019-02-09 
21:52:02.000000000 +0100
@@ -0,0 +1,12 @@
+module manual;
+
+class ManualGC {
+    void enable()
+    {
+    }
+
+    void disable()
+    {
+    }
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/test/runnable/extra-files/mixin.d 
new/dmd-2.084.1/test/runnable/extra-files/mixin.d
--- old/dmd-2.084.0/test/runnable/extra-files/mixin.d   2019-01-02 
00:48:03.000000000 +0100
+++ new/dmd-2.084.1/test/runnable/extra-files/mixin.d   2019-02-09 
21:52:02.000000000 +0100
@@ -2,8 +2,8 @@
 // https://issues.dlang.org/show_bug.cgi?id=12790
 string get()
 {
-    return
-    q{int x;
+    return "int x =\n        123;\r\n" ~
+    q{
         int y;
         
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/test/runnable/extra-files/mixin.mixin 
new/dmd-2.084.1/test/runnable/extra-files/mixin.mixin
--- old/dmd-2.084.0/test/runnable/extra-files/mixin.mixin       2019-01-02 
00:48:03.000000000 +0100
+++ new/dmd-2.084.1/test/runnable/extra-files/mixin.mixin       2019-02-09 
21:52:02.000000000 +0100
@@ -1,5 +1,7 @@
 // expansion at runnable/extra-files/mixin.d(16)
-int x;
+int x =
+        123;
+
         int y;
         
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/test/runnable/test16096.sh 
new/dmd-2.084.1/test/runnable/test16096.sh
--- old/dmd-2.084.0/test/runnable/test16096.sh  2019-01-02 00:48:03.000000000 
+0100
+++ new/dmd-2.084.1/test/runnable/test16096.sh  2019-02-09 21:52:02.000000000 
+0100
@@ -6,7 +6,7 @@
 fi
 
 $DMD -I${EXTRA_FILES} -of${OUTPUT_BASE}${LIBEXT} -lib 
${EXTRA_FILES}/test16096a.d
-$DMD -I${EXTRA_FILES} -of${OUTPUT_BASE}${EXT} ${EXTRA_FILES}/test16096.d 
${OUTPUT_BASE}${LIBEXT} -L-framework -LFoundation
+$DMD -I${EXTRA_FILES} -of${OUTPUT_BASE}${EXE} ${EXTRA_FILES}/test16096.d 
${OUTPUT_BASE}${LIBEXT} -L-framework -LFoundation
 ${OUTPUT_BASE}${EXE}
 
 rm ${OUTPUT_BASE}{${LIBEXT},${EXE}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/test/runnable/test18456.sh 
new/dmd-2.084.1/test/runnable/test18456.sh
--- old/dmd-2.084.0/test/runnable/test18456.sh  2019-01-02 00:48:03.000000000 
+0100
+++ new/dmd-2.084.1/test/runnable/test18456.sh  2019-02-09 21:52:02.000000000 
+0100
@@ -1,6 +1,7 @@
 #!/usr/bin/env bash
 
-$DMD -m${MODEL} -I${EXTRA_FILES} -of${OUTPUT_BASE}${LIBEXT} -lib 
${EXTRA_FILES}/lib18456.d
+# source file order is important
+$DMD -m${MODEL} -I${EXTRA_FILES} -of${OUTPUT_BASE}${LIBEXT} -lib 
${EXTRA_FILES}/lib18456b.d ${EXTRA_FILES}/lib18456.d
 $DMD -m${MODEL} -I${EXTRA_FILES} -of${OUTPUT_BASE}${EXE} 
${EXTRA_FILES}/test18456.d ${OUTPUT_BASE}${LIBEXT}
 ${OUTPUT_BASE}${EXE}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/test/runnable/test_dip1006.d 
new/dmd-2.084.1/test/runnable/test_dip1006.d
--- old/dmd-2.084.0/test/runnable/test_dip1006.d        1970-01-01 
01:00:00.000000000 +0100
+++ new/dmd-2.084.1/test/runnable/test_dip1006.d        2019-02-09 
21:52:02.000000000 +0100
@@ -0,0 +1,38 @@
+// REQUIRED_ARGS: -check=in=off -check=out=off -check=invariant=off
+// PERMUTE_ARGS:
+class C
+{
+    int foo(int a)
+    in { assert(a != 0); } // skipped
+    out(res) { assert(res != 0); } // skipped
+    body
+    {
+        return a;
+    }
+
+    invariant // skipped
+    {
+        assert(false);
+    }
+
+    void bar(int a)
+    {
+        assert(a != 0); // triggered
+    }
+}
+
+void main()
+{
+    import core.exception : AssertError;
+
+    auto c = new C;
+    c.foo(0);
+
+    bool catched;
+    try
+        c.bar(0);
+    catch (AssertError e)
+        catched = true;
+    if (!catched)
+        assert(0);
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dmd-2.084.0/test/runnable/test_dip1006b.d 
new/dmd-2.084.1/test/runnable/test_dip1006b.d
--- old/dmd-2.084.0/test/runnable/test_dip1006b.d       1970-01-01 
01:00:00.000000000 +0100
+++ new/dmd-2.084.1/test/runnable/test_dip1006b.d       2019-02-09 
21:52:02.000000000 +0100
@@ -0,0 +1,35 @@
+// REQUIRED_ARGS: -check=in=off -check=invariant=off
+// PERMUTE_ARGS:
+class C
+{
+    int foo(int a)
+    in { assert(a != 0); } // skipped
+    out(res) { assert(res != 0, "out"); } // triggered
+    body
+    {
+        return a;
+    }
+
+    invariant // skipped
+    {
+        assert(false);
+    }
+}
+
+void main()
+{
+    import core.exception : AssertError;
+
+    auto c = new C;
+    bool catched;
+    try
+        c.foo(0);
+    catch (AssertError e)
+    {
+        assert(e.msg == "out");
+        catched = e.msg == "out";
+    }
+
+    if (!catched)
+        assert(0);
+}

++++++ druntime-2.084.0.tar.gz -> druntime-2.084.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/druntime-2.084.0/changelog/array.dd 
new/druntime-2.084.1/changelog/array.dd
--- old/druntime-2.084.0/changelog/array.dd     2018-12-30 03:42:50.000000000 
+0100
+++ new/druntime-2.084.1/changelog/array.dd     1970-01-01 01:00:00.000000000 
+0100
@@ -1,3 +0,0 @@
-Added `core.stdcpp.array`.
-
-Added `core.stdcpp.array`, which links against C++ `std::array`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/druntime-2.084.0/changelog/crt_externs.dd 
new/druntime-2.084.1/changelog/crt_externs.dd
--- old/druntime-2.084.0/changelog/crt_externs.dd       2018-12-30 
03:42:50.000000000 +0100
+++ new/druntime-2.084.1/changelog/crt_externs.dd       1970-01-01 
01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-Add D header file $(REF_ALTTEXT `core.sys.darwin.crt_externs`, crt_externs, 
core, sys, darwin) for $(LINK2 
https://opensource.apple.com/source/Libc/Libc-1244.30.3/include/crt_externs.h.auto.html,
 libc/crt_externs.h) on Darwin.
-
-Add D header file $(REF_ALTTEXT `core.sys.darwin.crt_externs`, crt_externs, 
core, sys, darwin) for $(LINK2 
https://opensource.apple.com/source/Libc/Libc-1244.30.3/include/crt_externs.h.auto.html,
 libc/crt_externs.h) on Darwin.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/druntime-2.084.0/changelog/destroy_noinit.dd 
new/druntime-2.084.1/changelog/destroy_noinit.dd
--- old/druntime-2.084.0/changelog/destroy_noinit.dd    2018-12-30 
03:42:50.000000000 +0100
+++ new/druntime-2.084.1/changelog/destroy_noinit.dd    1970-01-01 
01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-Added `initialize` template argument to `object.destroy()`.
-
-`object.destroy()` now receives an `initialize` argument to specify whether to 
re-initialize the object after destruction.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/druntime-2.084.0/changelog/string_view.dd 
new/druntime-2.084.1/changelog/string_view.dd
--- old/druntime-2.084.0/changelog/string_view.dd       2018-12-30 
03:42:50.000000000 +0100
+++ new/druntime-2.084.1/changelog/string_view.dd       1970-01-01 
01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-Added `core.stdcpp.string_view`.
-
-Added `core.stdcpp.string_view`, which links against C++ `std::string_view`

++++++ phobos-2.084.0.tar.gz -> phobos-2.084.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/phobos-2.084.0/changelog/pr6580.dd 
new/phobos-2.084.1/changelog/pr6580.dd
--- old/phobos-2.084.0/changelog/pr6580.dd      2018-12-31 12:53:01.000000000 
+0100
+++ new/phobos-2.084.1/changelog/pr6580.dd      1970-01-01 01:00:00.000000000 
+0100
@@ -1,23 +0,0 @@
-Add overload `std.random.unpredictableSeed!UIntType`
-
-$(REF unpredictableSeed, std,random) now has an overloaded version
-`std.random.unpredictableSeed!UIntType` that can be used to produce
-seeds of any unsigned type `UIntType`.
-
--------
-import std.random : unpredictableSeed;
-
-auto a = unpredictableSeed!uint;
-static assert(is(typeof(a) == uint));
-
-auto b = unpredictableSeed!ulong;
-static assert(is(typeof(b) == ulong));
-
-// The old syntax still works.
-uint c = unpredictableSeed;
--------
-
-Additionally the implementation quality of `unpredictableSeed` has been
-improved, speeding it up and eliminating an obvious pattern in the high
-bit. (Bear in mind that `unpredictableSeed` is still not
-cryptographically secure.)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/phobos-2.084.0/std/file.d 
new/phobos-2.084.1/std/file.d
--- old/phobos-2.084.0/std/file.d       2018-12-31 12:53:01.000000000 +0100
+++ new/phobos-2.084.1/std/file.d       2019-02-06 04:22:56.000000000 +0100
@@ -348,7 +348,6 @@
 {
     import core.memory : GC;
     import std.algorithm.comparison : min;
-    import std.array : uninitializedArray;
     import std.conv : to;
     import std.experimental.checkedint : checked;
 
@@ -371,7 +370,7 @@
     immutable initialAlloc = min(upTo, to!size_t(statbuf.st_size
         ? min(statbuf.st_size + 1, maxInitialAlloc)
         : minInitialAlloc));
-    void[] result = uninitializedArray!(ubyte[])(initialAlloc);
+    void[] result = GC.malloc(initialAlloc, GC.BlkAttr.NO_SCAN)[0 .. 
initialAlloc];
     scope(failure) GC.free(result.ptr);
 
     auto size = checked(size_t(0));
@@ -400,7 +399,6 @@
 {
     import core.memory : GC;
     import std.algorithm.comparison : min;
-    import std.array : uninitializedArray;
     static trustedCreateFileW(scope const(wchar)* namez, DWORD 
dwDesiredAccess, DWORD dwShareMode,
                               SECURITY_ATTRIBUTES *lpSecurityAttributes, DWORD 
dwCreationDisposition,
                               DWORD dwFlagsAndAttributes, HANDLE 
hTemplateFile) @trusted
@@ -451,7 +449,7 @@
     ulong fileSize = void;
     cenforce(trustedGetFileSize(h, fileSize), name, namez);
     size_t size = min(upTo, fileSize);
-    auto buf = uninitializedArray!(ubyte[])(size);
+    auto buf = () @trusted { return GC.malloc(size, GC.BlkAttr.NO_SCAN)[0 .. 
size]; } ();
 
     scope(failure)
     {


Reply via email to