diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2022-10-29 09:05:54 +0200 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2022-10-29 13:02:26 +0200 |
commit | 7e7ebe3e350fde90fe49ab41ce3b92a811bb6370 (patch) | |
tree | be7a6dd9ae43a807ff7107d51ed03069a4a336f2 /libphobos/src/std/array.d | |
parent | cfd85418051e8413e84ae7011cb5cb99cd8e337c (diff) | |
download | gcc-7e7ebe3e350fde90fe49ab41ce3b92a811bb6370.zip gcc-7e7ebe3e350fde90fe49ab41ce3b92a811bb6370.tar.gz gcc-7e7ebe3e350fde90fe49ab41ce3b92a811bb6370.tar.bz2 |
d: Merge upstream dmd, druntime e4f8919591, phobos 3ad507b51.
D front-end changes:
- Import dmd v2.101.0-beta.1.
- Add predefined version `D_Optimized' when compiling with `-O'.
- Shortened method syntax (DIP1043) is now enabled by default.
- Array literals assigned to `scope' array variables are now
allocated on the stack.
- Implement `@system' variables (DIP1035), available behind the
preview feature flag `-fpreview=systemvariables'.
D runtime changes:
- Import druntime v2.101.0-beta.1.
Phobos changes:
- Import phobos v2.101.0-beta.1.
- Added `std.typecons.SafeRefCounted', that can be used in `@safe'
code with `-fpreview=dip1000'.
gcc/d/ChangeLog:
* d-attribs.cc (apply_user_attributes): Update for new front-end
interface.
* d-builtins.cc (d_init_versions): Predefine `D_Optimized' with
compiling with optimizations enabled.
* d-lang.cc (d_handle_option): Update for new front-end interface.
Handle new option `-fpreview=systemvariables'.
* dmd/MERGE: Merge upstream dmd e4f8919591.
* dmd/VERSION: Bump version to v2.101.0-beta.1.
* expr.cc (ExprVisitor::visit (AssignExp *)): Treat construction of
static arrays from a call expression as a simple assignment.
(ExprVisitor::visit (ArrayLiteralExp *)): Handle array literals with
`scope' storage.
* gdc.texi: Update documentation of `-fpreview=' options.
* lang.opt (fpreview=shortenedmethods): Remove.
(fpreview=systemvariables): New option.
libphobos/ChangeLog:
* libdruntime/MERGE: Merge upstream druntime e4f8919591.
* src/MERGE: Merge upstream phobos 3ad507b51.
gcc/testsuite/ChangeLog:
* gdc.dg/simd19630.d: Move tests with errors to ...
* gdc.dg/simd19630b.d: ... here. New test.
* gdc.dg/simd19630c.d: New test.
* gdc.dg/simd_ctfe.d: Removed.
* gdc.dg/simd18867.d: New test.
* gdc.dg/simd19788.d: New test.
* gdc.dg/simd21469.d: New test.
* gdc.dg/simd21672.d: New test.
* gdc.dg/simd23077.d: New test.
* gdc.dg/simd23084.d: New test.
* gdc.dg/simd23085.d: New test.
* gdc.dg/torture/simd19632.d: New test.
* gdc.dg/torture/simd20041.d: New test.
* gdc.dg/torture/simd21673.d: New test.
* gdc.dg/torture/simd21676.d: New test.
* gdc.dg/torture/simd22438.d: New test.
* gdc.dg/torture/simd23009.d: New test.
* gdc.dg/torture/simd23077.d: New test.
* gdc.dg/torture/simd8.d: New test.
* gdc.dg/torture/simd9.d: New test.
* gdc.dg/torture/simd_prefetch.d: New test.
Diffstat (limited to 'libphobos/src/std/array.d')
-rw-r--r-- | libphobos/src/std/array.d | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libphobos/src/std/array.d b/libphobos/src/std/array.d index f48602e..3e88200 100644 --- a/libphobos/src/std/array.d +++ b/libphobos/src/std/array.d @@ -586,7 +586,7 @@ if (isInputRange!Range) static assert(isMutable!ValueType, "assocArray: value type must be mutable"); ValueType[KeyType] aa; - foreach (t; r) + foreach (ref t; r) aa[t[0]] = t[1]; return aa; } @@ -4676,6 +4676,7 @@ nothrow pure @safe @nogc unittest assert(a == [0, 1]); } +/// ditto pragma(inline, true) U[n] staticArray(U, T, size_t n)(auto ref T[n] a) if (!is(T == U) && is(T : U)) { |