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

Merged
merged 24 commits into from Jul 9, 2022
Merged

merge stable #14280

merged 24 commits into from Jul 9, 2022

Conversation

ibuclaw
Copy link
Member

@ibuclaw ibuclaw commented Jul 9, 2022

  • Fix issue 23100 - empty array literal passed to scope param not 'falsey' anymore (Fix issue 23100 - empty array literal passed to scope param not 'fals… #14105)
  • Fix issue 23102 - pinholeopt, "Conditional jump or move depends on uninitialised value(s)"
  • Fix Issue 23082 - stringof of template alias overloaded with function accessed by trait: segfault. (Fix Issue 23082 - stringof of template alias overloaded with function accessed by trait: segfault. #14149)
  • Fix Issue 23114 - Make noreturn conversions work
  • Fix issue 23148, 21723: Generate invariant id on the basis of location rather than counter. This makes __invariant more resilient to template order issues.
  • Refactor: Instead of using any generated identifier for invariants, patch up the identifier based on the number of invariants in the aggregate.
  • Mark fixupInvariantIdent as extern(D); it's not needed in the headers.
  • Fix Issue 20143 - Backend constant folding did not support division by real.
  • Add division operator to opBinaryRight in the longdouble_soft implementation so evalu8 patch works on ldc-windows
  • Fix Issue 23170 - Array literal passed to map in lambda, then returned from nested function, is memory corrupted (Fix Issue 23170 - Array literal passed to map in lambda, then returne… #14193)
  • fix Issue 23166 - seg fault when compiling with -inline
  • Fix Issue 23177 - ModuleInfo is not exported on Windows
  • CI test runner does not know about MSVC linker export + import files generation message which causes failures when generated.
  • Disable runnable/testmodule.d for Windows due to MSVC linker error with Unicode symbol names
  • Revert "Disable runnable/testmodule.d for Windows due to MSVC linker error with Unicode symbol names"
  • Revert "CI test runner does not know about MSVC linker export + import files generation message which causes failures when generated."
  • Revert "Fix Issue 23177 - ModuleInfo is not exported on Windows"
  • fix Issue 23181 - [REG 2.099] AssertError@src/dmd/e2ir.d(6094): Trying reference _d_arraysetctor
  • Fix Issue 23120 - dmd illegal instruction throw expression
  • Fix Issue 23172 - [REG2.100] Wrong cast inserted for ternary operator and non-int enums
  • Fix Issue 21443 - scope (failure) with a return breaks safety
  • bump VERSION to v2.100.1-beta.1
  • bump VERSION to v2.100.1

dkorpel and others added 24 commits May 16, 2022 10:52
…n rather than counter.

This makes __invariant more resilient to template order issues.
…atch up the identifier based on the number of invariants in the aggregate.

Relying on any sort of global counter leads to linker errors with static libraries. Even the current approach, which fixed #23148 and #21723, is not reliable. This commit instead fixes up the identifier of the invariant symbol based on the index of the invariant in the struct or class itself, thus removing any reliance on a global counter.
…y real.

This involved simply adding the correct case to the grand olde switch statement that does the evalu8tion
…generation message which causes failures when generated.
…error with Unicode symbol names"

This reverts commit ea3ebd6.
…t files generation message which causes failures when generated."

This reverts commit a848e70.
@ibuclaw ibuclaw requested a review from RazvanN7 as a code owner July 9, 2022 15:07
@dlang-bot
Copy link
Contributor

Thanks for your pull request, @ibuclaw!

Bugzilla references

Auto-close Bugzilla Severity Description
20143 normal ICE in optimizer on real 0/0 returned as double
21443 critical scope (failure) with a return breaks safety
21723 normal Linker error: two module static library, main compiled inline, invariant that defines a function, type alias, and an alias lambda
23082 critical stringof of template alias overloaded with function accessed by trait: segfault.
23100 regression empty array literal passed to scope param not 'falsey' anymore
23102 normal pinholeopt, "Conditional jump or move depends on uninitialised value(s)"
23114 normal Can't use noreturn operand in arithmetic expression
23120 critical dmd illegal instruction throw expression
23148 regression Missing invariant symbol with static library when template function declares struct with destructor and invariant that instantiates template with lambda, also main has a lambda
23166 normal seg fault when compiling with -inline
23170 regression Array literal passed to map in lambda, then returned from nested function, is memory corrupted
23172 regression [REG2.100] Wrong cast inserted for ternary operator and non-int enums
23177 blocker ModuleInfo is not exported on Windows
23181 regression [REG 2.099] AssertError@src/dmd/e2ir.d(6094): Trying reference _d_arraysetctor

⚠️⚠️⚠️ Warnings ⚠️⚠️⚠️

To target stable perform these two steps:

  1. Rebase your branch to upstream/stable:
git rebase --onto upstream/stable upstream/master
  1. Change the base branch of your PR to stable

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + dmd#14280"

@Geod24
Copy link
Member

Geod24 commented Jul 9, 2022

We need dlang/phobos#8503 merged first

@ibuclaw
Copy link
Member Author

ibuclaw commented Jul 9, 2022

Phobos is merged, retrying all failed pipelines.

@Geod24 Geod24 merged commit 20bd0ca into dlang:master Jul 9, 2022
@ibuclaw ibuclaw deleted the merge_stable branch July 10, 2022 01:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet