New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
merge stable #11027
merge stable #11027
Commits on Mar 4, 2020
Commits on Mar 9, 2020
Commits on Mar 10, 2020
-
Merge pull request dlang#10864 from kinke/needmoduleinfo
[stable] Follow-up on dlang#9221 merged-on-behalf-of: Nicholas Wilson <thewilsonator@users.noreply.github.com>
-
Merge pull request dlang#10881 from BorisCarvajal/zeroinit
Fix Issue 20649 - Trait isZeroInit gives false in certain scenarios merged-on-behalf-of: Nicholas Wilson <thewilsonator@users.noreply.github.com>
-
Set the DMD binary as executable
The dmd binary must have permission to be executable otherwise it would be impossible to launch it without manually setting permissions. This patch sets the 644 permission by default for all the other files installed through installRelativeFiles while the 755 permissions will be set for the dmd binary. This fixes the issue #20662
Ernesto Castellotti committedMar 10, 2020 -
Merge pull request dlang#10889 from ErnyTech/stable
(Fix #20662) Set the DMD binary as executable merged-on-behalf-of: Nicholas Wilson <thewilsonator@users.noreply.github.com>
Commits on Mar 13, 2020
Commits on Mar 15, 2020
-
-
Merge pull request dlang#10923 from BorisCarvajal/fix20610
Fix Issue 20610 - const in a .tupleof loop is ignored merged-on-behalf-of: Nicholas Wilson <thewilsonator@users.noreply.github.com>
Commits on Mar 18, 2020
-
Fix Issue 20130 - ICE when casting from string to other array type du…
…e to __ArrayCast not being written
Commits on Mar 19, 2020
-
Merge pull request dlang#10941 from BorisCarvajal/fix20130
Fix Issue 20130 - ICE when casting from string to other array type du… merged-on-behalf-of: Nicholas Wilson <thewilsonator@users.noreply.github.com>
-
Merge pull request dlang#10883 from kubo39/bugfix-20656
Fix Issue 20656 - cannot compile live function without -preview=dip1021 merged-on-behalf-of: Nicholas Wilson <thewilsonator@users.noreply.github.com>
Commits on Mar 20, 2020
-
Merge pull request dlang#10946 from BorisCarvajal/mptr_constinit
Fix Issue 20687 - Allow member function address as const initializer merged-on-behalf-of: Nicholas Wilson <thewilsonator@users.noreply.github.com>
Commits on Mar 21, 2020
Commits on Mar 22, 2020
Commits on Mar 31, 2020
-
Merge pull request dlang#10952 from BorisCarvajal/fix20692
Fix Issue 20692 - Nested alias declarations and getMember trait can c…
Commits on Apr 3, 2020
-
Fix issue 20700 - Fwd refs leads to extern(C++, class|struct) being i…
…gnored `Type`-derived AST nodes do not support the same kind of semantic analysis that `Dsymbol`-derived one do. The issue was that in some codes, semantic analysis on the type was performed before it was performed on the declaration, and chasing those cases turned out to be endless, hence the minor refactoring.
-
Merge pull request dlang#10988 from Geod24/fix-20700
[stable] Fix issue 20700 - Forward references leads to extern(C++, class|struct) being ignored merged-on-behalf-of: unknown
-
Fix Issue 18651 - ice: assert in glue.d:777 when building these three… (
dlang#10960) Fix Issue 18651 - ice: assert in glue.d:777 when building these three… merged-on-behalf-of: Mathias LANG <pro.mathias.lang@gmail.com>
Commits on Apr 7, 2020
-
Fix misc. issues wrt. temporaries for -checkaction=context lowering
The early expression sema of `exp.e1`, the assert condition, was a major problem. E.g.: ``` struct S { int a; this(this) {} bool opEquals(S) @safe { return true; } } void foo() { S a; assert(S() == a); // S().opEquals(a) } ``` Here, an lvalue `a` is passed to `S.opEquals()`, which takes the arg by value. The early `CallExp` sema already lowers the argument expression `a` to a temporary, to something like `S __copytmp = (__copytmp = a).__postblit()`. *That* expression (instead of `a`) was previously stored as a further `__assertOp` temporary, and the original argument replaced by that temporary (without postblit). Previous lowering: assert(S(0).opEquals(((S __assertOp3 = (S __copytmp2 = (__copytmp2 = a).__postblit();) , __assertOp3 = __copytmp2;) , __assertOp3)), _d_assert_fail(S(0), __assertOp3)); New lowering: assert(S(0).opEquals(((S __copytmp2 = (__copytmp2 = a).__postblit();) , __copytmp2)), _d_assert_fail(S(0), a)); A related 2nd issue concerns rvalue arguments - the early `CallExp` sema detects that no temporary is needed (move; elide postblit and dtor in the caller); the rvalue was previously correctly stored as `__assertOp` temporary, but as it is now an lvalue (possibly accessed a 2nd time for the `_d_assert_fail()` call if the assertion fails), it must be copied + postblitted. This can be fixed by deferring the `CallExp` sema until the arguments have been replaced by required temporaries (and hence possibly promoted from rvalues to lvalues). void rval() { static S nonPure() { __gshared int counter; ++counter; return S(123); } assert(S() == nonPure()); } Previous lowering: assert(S(0).opEquals(((S __assertOp12 = nonPure();) , __assertOp12)), _d_assert_fail(S(0), __assertOp12)); New lowering: (S __assertOp11 = nonPure();) , assert(S(0).opEquals(((S __copytmp12 = (__copytmp12 = __assertOp11).__postblit();) , __copytmp12)), _d_assert_fail(S(0), __assertOp11));
-
Handle mixin expressions as assert conditions
For druntime's test/exceptions/src/assert_fail.d.
Commits on Apr 8, 2020
-
Merge pull request dlang#11005 from kinke/context
[stable] Fix misc. issues wrt. temporaries for -checkaction=context lowering merged-on-behalf-of: Nicholas Wilson <thewilsonator@users.noreply.github.com>
Commits on Apr 12, 2020
-
-
fix Issue 20730 - [REG 2.091] __traits(compiles) fails if any ungagge…
…d errors occurred in compilation When running semantic on __traits(compiles), errors are gagged, so the saved errors count is global.gaggedErrors, and not global.errors. So the condition always evaluated as true if any real errors occured during compilation, and every subsequent __traits(compiles) errors too, whether it is valid syntax or not.
-
Merge pull request dlang#11023 from ibuclaw/reg20730
fix Issue 20730 - [REG 2.091] __traits(compiles) fails if any ungagged errors occurred in compilation merged-on-behalf-of: Rainer Schuetze <rainers@users.noreply.github.com>
-
Remove qualifiers from toPrec return type
The const flag being set on the return type triggered switch errors
-
2 small frontend fix-ups after v2.091.0
Cleaning up after dlang#10952 and dlang#10988.
-
Merge pull request dlang#11026 from ibuclaw/toprecswitch
Remove qualifiers from toPrec return type merged-on-behalf-of: Nicholas Wilson <thewilsonator@users.noreply.github.com>
Commits on Apr 13, 2020
-
Merge pull request dlang#11028 from kinke/stable
[stable] 2 small frontend fix-ups after v2.091.0 merged-on-behalf-of: Nicholas Wilson <thewilsonator@users.noreply.github.com>
Commits on Apr 17, 2020
-
Fix Issue 20742 - dmd -X (JSON output) includes uncompiled symbols
PR dlang#6621 took the code for pending `ConditionalDeclaration`s from doc.d but missed the early return.
-
Commits on Apr 20, 2020
-
Merge pull request dlang#11044 from MoonlightSentinel/json-version
Fix Issue 20742 - dmd -X (JSON output) includes uncompiled symbols merged-on-behalf-of: Steven Schveighoffer <schveiguy@users.noreply.github.com>
Commits on Apr 21, 2020
-
Merge remote-tracking branch 'upstream/stable' into merge_stable
Conflicts: test/fail_compilation/fob2.d