Skip to content
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

Merged
merged 34 commits into from Apr 21, 2020
Merged

merge stable #11027

merged 34 commits into from Apr 21, 2020

Commits on Mar 4, 2020

  1. Follow-up on dlang#9221

    kinke committed Mar 4, 2020
    Copy the full SHA
    b1e245d View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2020

  1. Copy the full SHA
    7ed5272 View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2020

  1. 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>
    dlang-bot committed Mar 10, 2020
    Copy the full SHA
    345fac2 View commit details
    Browse the repository at this point in the history
  2. 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>
    dlang-bot committed Mar 10, 2020
    Copy the full SHA
    f0b4051 View commit details
    Browse the repository at this point in the history
  3. 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 committed Mar 10, 2020
    Copy the full SHA
    16b3334 View commit details
    Browse the repository at this point in the history
  4. 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>
    dlang-bot committed Mar 10, 2020
    Copy the full SHA
    e9d316a View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2020

  1. Copy the full SHA
    1a065b7 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2020

  1. Copy the full SHA
    8fed09c View commit details
    Browse the repository at this point in the history
  2. 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>
    dlang-bot committed Mar 15, 2020
    Copy the full SHA
    7c22d24 View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2020

  1. Fix Issue 20130 - ICE when casting from string to other array type du…

    …e to __ArrayCast not being written
    BorisCarvajal committed Mar 18, 2020
    Copy the full SHA
    8f24852 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2020

  1. 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>
    dlang-bot committed Mar 19, 2020
    Copy the full SHA
    ff7c9ef View commit details
    Browse the repository at this point in the history
  2. 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>
    dlang-bot committed Mar 19, 2020
    Copy the full SHA
    9200421 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    4ad1a19 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2020

  1. 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>
    dlang-bot committed Mar 20, 2020
    Copy the full SHA
    aba2dea View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2020

  1. Copy the full SHA
    ef669f8 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2020

  1. Copy the full SHA
    1f3245d View commit details
    Browse the repository at this point in the history

Commits on Mar 31, 2020

  1. Merge pull request dlang#10952 from BorisCarvajal/fix20692

    Fix Issue 20692 - Nested alias declarations and getMember trait can c…
    RazvanN7 committed Mar 31, 2020
    Copy the full SHA
    a22ea07 View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2020

  1. 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.
    Geod24 committed Apr 3, 2020
    Copy the full SHA
    050e71d View commit details
    Browse the repository at this point in the history
  2. 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
    dlang-bot committed Apr 3, 2020
    Copy the full SHA
    4a39506 View commit details
    Browse the repository at this point in the history
  3. 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>
    BorisCarvajal committed Apr 3, 2020
    Copy the full SHA
    d96d44e View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2020

  1. 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));
    kinke committed Apr 7, 2020
    Copy the full SHA
    b15b0c4 View commit details
    Browse the repository at this point in the history
  2. Handle mixin expressions as assert conditions

    For druntime's test/exceptions/src/assert_fail.d.
    kinke committed Apr 7, 2020
    Copy the full SHA
    f4dc07c View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2020

  1. 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>
    dlang-bot committed Apr 8, 2020
    Copy the full SHA
    cbe2eee View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2020

  1. Copy the full SHA
    6354aee View commit details
    Browse the repository at this point in the history
  2. 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.
    ibuclaw committed Apr 12, 2020
    Copy the full SHA
    e8922ef View commit details
    Browse the repository at this point in the history
  3. 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>
    dlang-bot committed Apr 12, 2020
    Copy the full SHA
    fa488fc View commit details
    Browse the repository at this point in the history
  4. Remove qualifiers from toPrec return type

    The const flag being set on the return type triggered switch errors
    ibuclaw committed Apr 12, 2020
    Copy the full SHA
    f4988a7 View commit details
    Browse the repository at this point in the history
  5. 2 small frontend fix-ups after v2.091.0

    Cleaning up after dlang#10952 and dlang#10988.
    kinke committed Apr 12, 2020
    Copy the full SHA
    18bcf60 View commit details
    Browse the repository at this point in the history
  6. 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>
    dlang-bot committed Apr 12, 2020
    Copy the full SHA
    9cc0e86 View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2020

  1. 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>
    dlang-bot committed Apr 13, 2020
    Copy the full SHA
    83a929e View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2020

  1. 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.
    MoonlightSentinel committed Apr 17, 2020
    Copy the full SHA
    d02acc9 View commit details
    Browse the repository at this point in the history
  2. bump VERSION to v2.091.1

    MartinNowak committed Apr 17, 2020
    Copy the full SHA
    9236ba5 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2020

  1. 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>
    dlang-bot committed Apr 20, 2020
    Copy the full SHA
    9b15009 View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2020

  1. Merge remote-tracking branch 'upstream/stable' into merge_stable

    Conflicts:
    	test/fail_compilation/fob2.d
    Geod24 committed Apr 21, 2020
    Copy the full SHA
    121b839 View commit details
    Browse the repository at this point in the history