Hi, This patch merges the D front-end and run-time library with upstream dmd e4f8919591, and standard library with phobos 3ad507b51. Synchronizing the latest bug fixes in the upcoming v2.101 release. 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'. Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32, committed to mainline. Regards, Iain. --- 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. --- gcc/d/d-attribs.cc | 5 +- gcc/d/d-builtins.cc | 3 + gcc/d/d-lang.cc | 10 +- gcc/d/dmd/MERGE | 2 +- gcc/d/dmd/VERSION | 2 +- gcc/d/dmd/aggregate.d | 2 +- gcc/d/dmd/aggregate.h | 4 +- gcc/d/dmd/attrib.d | 41 - gcc/d/dmd/attrib.h | 1 - gcc/d/dmd/clone.d | 22 +- gcc/d/dmd/common/bitfields.d | 9 +- gcc/d/dmd/common/file.d | 11 +- gcc/d/dmd/cparse.d | 39 +- gcc/d/dmd/cppmangle.d | 10 +- gcc/d/dmd/dcast.d | 114 +-- gcc/d/dmd/declaration.d | 59 +- gcc/d/dmd/declaration.h | 66 +- gcc/d/dmd/dinterpret.d | 6 + gcc/d/dmd/dmodule.d | 435 +++++----- gcc/d/dmd/dscope.d | 6 +- gcc/d/dmd/dstruct.d | 33 +- gcc/d/dmd/dsymbol.d | 54 +- gcc/d/dmd/dsymbol.h | 16 +- gcc/d/dmd/dsymbolsem.d | 204 +++-- gcc/d/dmd/dtemplate.d | 4 +- gcc/d/dmd/entity.d | 236 +++--- gcc/d/dmd/escape.d | 369 ++++---- gcc/d/dmd/expression.d | 2 +- gcc/d/dmd/expression.h | 1 + gcc/d/dmd/expressionsem.d | 173 ++-- gcc/d/dmd/func.d | 276 +++--- gcc/d/dmd/globals.d | 5 +- gcc/d/dmd/globals.h | 6 +- gcc/d/dmd/hdrgen.d | 27 +- gcc/d/dmd/lexer.d | 48 +- gcc/d/dmd/module.h | 2 +- gcc/d/dmd/mtype.d | 69 +- gcc/d/dmd/mtype.h | 5 + gcc/d/dmd/nogc.d | 4 +- gcc/d/dmd/parse.d | 6 +- gcc/d/dmd/printast.d | 7 + gcc/d/dmd/root/utf.d | 2 +- gcc/d/dmd/safe.d | 10 +- gcc/d/dmd/semantic3.d | 44 +- gcc/d/dmd/statementsem.d | 188 ++--- gcc/d/dmd/templateparamsem.d | 9 + gcc/d/dmd/transitivevisitor.d | 9 + gcc/d/expr.cc | 9 + gcc/d/lang.opt | 4 +- gcc/testsuite/gdc.dg/simd18867.d | 11 + gcc/testsuite/gdc.dg/simd19630.d | 10 - gcc/testsuite/gdc.dg/simd19630b.d | 17 + gcc/testsuite/gdc.dg/simd19630c.d | 15 + gcc/testsuite/gdc.dg/simd19788.d | 11 + gcc/testsuite/gdc.dg/simd21469.d | 9 + gcc/testsuite/gdc.dg/simd21672.d | 17 + gcc/testsuite/gdc.dg/simd23077.d | 11 + gcc/testsuite/gdc.dg/simd23084.d | 17 + gcc/testsuite/gdc.dg/simd23085.d | 11 + gcc/testsuite/gdc.dg/simd_ctfe.d | 88 -- gcc/testsuite/gdc.dg/torture/simd19632.d | 15 + gcc/testsuite/gdc.dg/torture/simd20041.d | 22 + gcc/testsuite/gdc.dg/torture/simd21673.d | 20 + gcc/testsuite/gdc.dg/torture/simd21676.d | 36 + gcc/testsuite/gdc.dg/torture/simd22438.d | 18 + gcc/testsuite/gdc.dg/torture/simd23009.d | 22 + gcc/testsuite/gdc.dg/torture/simd23077.d | 11 + gcc/testsuite/gdc.dg/torture/simd8.d | 26 + gcc/testsuite/gdc.dg/torture/simd9.d | 46 + gcc/testsuite/gdc.dg/torture/simd_prefetch.d | 21 + gcc/testsuite/gdc.test/compilable/cdcmp.d | 14 - .../gdc.test/compilable/extra-files/header2.d | 19 + .../gdc.test/compilable/imports/cimports2a.i | 7 + .../gdc.test/compilable/imports/cimports2b.i | 8 + .../compilable/imports/pkg22952/package.d | 1 + gcc/testsuite/gdc.test/compilable/noreturn3.d | 257 ++++++ .../compilable/scope_tuple_expansion.d | 21 + .../gdc.test/compilable/shortened_methods.d | 2 +- gcc/testsuite/gdc.test/compilable/test11980.d | 5 +- gcc/testsuite/gdc.test/compilable/test22674.d | 7 + gcc/testsuite/gdc.test/compilable/test22784.d | 10 + gcc/testsuite/gdc.test/compilable/test22952.d | 10 + gcc/testsuite/gdc.test/compilable/test23380.d | 9 + gcc/testsuite/gdc.test/compilable/test23386.d | 12 + .../gdc.test/fail_compilation/diag23384.d | 29 + .../gdc.test/fail_compilation/fail10905.d | 22 - .../gdc.test/fail_compilation/fail19898a.d | 2 +- .../gdc.test/fail_compilation/fail19898b.d | 2 +- .../gdc.test/fail_compilation/fail22366.d | 2 +- .../gdc.test/fail_compilation/fail23406.d | 40 + .../gdc.test/fail_compilation/issue21378.d | 2 +- .../gdc.test/fail_compilation/lexer1.d | 3 +- .../gdc.test/fail_compilation/pragmainline.d | 2 +- .../gdc.test/fail_compilation/pragmas.d | 4 +- .../gdc.test/fail_compilation/previewin.d | 6 +- .../fail_compilation/reserved_version.d | 3 + .../reserved_version_switch.d | 3 + .../gdc.test/fail_compilation/retscope.d | 6 +- .../gdc.test/fail_compilation/retscope2.d | 2 +- .../gdc.test/fail_compilation/retscope6.d | 2 +- .../fail_compilation/systemvariables.d | 48 ++ .../systemvariables_deprecation.d | 28 + .../fail_compilation/systemvariables_struct.d | 60 ++ .../systemvariables_void_init.d | 32 + .../gdc.test/fail_compilation/templatethis.d | 37 + .../gdc.test/fail_compilation/test14496.d | 3 +- .../gdc.test/fail_compilation/test17764.d | 2 +- .../gdc.test/fail_compilation/test19097.d | 2 +- .../gdc.test/fail_compilation/test22145.d | 2 +- .../gdc.test/fail_compilation/test22680.d | 2 +- .../gdc.test/fail_compilation/warn14905.d | 23 + .../gdc.test/fail_compilation/xmmslice.d | 22 + gcc/testsuite/gdc.test/runnable/cdcmp.d | 146 ++++ gcc/testsuite/gdc.test/runnable/lexer.d | 4 + gcc/testsuite/gdc.test/runnable/test20734.d | 8 + gcc/testsuite/gdc.test/runnable/test23337.d | 182 ++++ libphobos/libdruntime/MERGE | 2 +- libphobos/libdruntime/core/stdc/fenv.d | 1 - libphobos/libdruntime/core/stdc/signal.d | 1 - libphobos/libdruntime/core/stdc/stdarg.d | 1 - libphobos/libdruntime/core/stdc/stdio.d | 1 - libphobos/libdruntime/core/stdc/stdlib.d | 1 - libphobos/libdruntime/core/stdc/string.d | 1 - libphobos/libdruntime/core/stdc/wchar_.d | 1 - libphobos/libdruntime/core/sys/darwin/fcntl.d | 1 - .../libdruntime/core/sys/darwin/ifaddrs.d | 1 - libphobos/libdruntime/core/sys/elf/package.d | 1 - libphobos/libdruntime/core/sys/linux/dlfcn.d | 1 - libphobos/libdruntime/core/sys/linux/elf.d | 1 - libphobos/libdruntime/core/sys/linux/epoll.d | 2 - libphobos/libdruntime/core/sys/linux/err.d | 1 - libphobos/libdruntime/core/sys/linux/errno.d | 1 - .../libdruntime/core/sys/linux/execinfo.d | 1 - libphobos/libdruntime/core/sys/linux/fcntl.d | 1 - libphobos/libdruntime/core/sys/linux/fs.d | 1 - .../libdruntime/core/sys/linux/ifaddrs.d | 1 - .../libdruntime/core/sys/linux/io_uring.d | 2 - libphobos/libdruntime/core/sys/linux/link.d | 1 - .../libdruntime/core/sys/linux/perf_event.d | 1 - libphobos/libdruntime/core/sys/linux/sched.d | 1 - libphobos/libdruntime/core/sys/linux/stdio.d | 3 +- libphobos/libdruntime/core/sys/linux/string.d | 1 - .../libdruntime/core/sys/linux/sys/eventfd.d | 1 - .../libdruntime/core/sys/linux/sys/inotify.d | 1 - .../libdruntime/core/sys/linux/sys/mman.d | 1 - .../libdruntime/core/sys/linux/sys/prctl.d | 1 - .../libdruntime/core/sys/linux/sys/signalfd.d | 1 - .../libdruntime/core/sys/linux/sys/sysinfo.d | 1 - .../libdruntime/core/sys/linux/sys/xattr.d | 1 - .../libdruntime/core/sys/linux/timerfd.d | 1 - libphobos/libdruntime/core/sys/linux/tipc.d | 1 - libphobos/libdruntime/core/sys/linux/unistd.d | 1 - .../libdruntime/core/sys/openbsd/sys/mman.d | 1 + libphobos/libdruntime/core/sys/posix/aio.d | 1 - libphobos/libdruntime/core/sys/posix/config.d | 1 - libphobos/libdruntime/core/sys/posix/dirent.d | 1 - libphobos/libdruntime/core/sys/posix/dlfcn.d | 1 - libphobos/libdruntime/core/sys/posix/fcntl.d | 1 - libphobos/libdruntime/core/sys/posix/grp.d | 1 - libphobos/libdruntime/core/sys/posix/iconv.d | 1 - .../libdruntime/core/sys/posix/inttypes.d | 1 - libphobos/libdruntime/core/sys/posix/libgen.d | 1 - libphobos/libdruntime/core/sys/posix/locale.d | 1 - libphobos/libdruntime/core/sys/posix/mqueue.d | 1 - libphobos/libdruntime/core/sys/posix/netdb.d | 1 - libphobos/libdruntime/core/sys/posix/poll.d | 1 - .../libdruntime/core/sys/posix/pthread.d | 1 - libphobos/libdruntime/core/sys/posix/pwd.d | 1 - libphobos/libdruntime/core/sys/posix/sched.d | 1 - .../libdruntime/core/sys/posix/semaphore.d | 1 - libphobos/libdruntime/core/sys/posix/setjmp.d | 1 - libphobos/libdruntime/core/sys/posix/spawn.d | 1 - libphobos/libdruntime/core/sys/posix/stdio.d | 1 - libphobos/libdruntime/core/sys/posix/stdlib.d | 1 - libphobos/libdruntime/core/sys/posix/string.d | 1 - .../libdruntime/core/sys/posix/strings.d | 1 - .../libdruntime/core/sys/posix/sys/filio.d | 1 - .../libdruntime/core/sys/posix/sys/ioccom.d | 1 - .../libdruntime/core/sys/posix/sys/ioctl.d | 1 - .../libdruntime/core/sys/posix/sys/ipc.d | 1 - .../libdruntime/core/sys/posix/sys/mman.d | 1 - .../libdruntime/core/sys/posix/sys/msg.d | 1 - .../libdruntime/core/sys/posix/sys/resource.d | 1 - .../libdruntime/core/sys/posix/sys/select.d | 1 - .../libdruntime/core/sys/posix/sys/shm.d | 1 - .../libdruntime/core/sys/posix/sys/socket.d | 1 - .../libdruntime/core/sys/posix/sys/stat.d | 1 - .../libdruntime/core/sys/posix/sys/statvfs.d | 1 - .../libdruntime/core/sys/posix/sys/time.d | 1 - .../libdruntime/core/sys/posix/sys/ttycom.d | 1 - .../libdruntime/core/sys/posix/sys/types.d | 1 - .../libdruntime/core/sys/posix/sys/uio.d | 1 - libphobos/libdruntime/core/sys/posix/sys/un.d | 1 - .../libdruntime/core/sys/posix/sys/utsname.d | 1 - .../libdruntime/core/sys/posix/sys/wait.d | 1 - libphobos/libdruntime/core/sys/posix/syslog.d | 1 - .../libdruntime/core/sys/posix/termios.d | 1 - libphobos/libdruntime/core/sys/posix/time.d | 1 - .../libdruntime/core/sys/posix/ucontext.d | 1 - libphobos/libdruntime/core/sys/posix/unistd.d | 1 - libphobos/libdruntime/core/sys/posix/utime.d | 1 - .../libdruntime/core/sys/windows/aclapi.d | 1 - .../libdruntime/core/sys/windows/aclui.d | 1 - .../libdruntime/core/sys/windows/basetsd.d | 1 - .../libdruntime/core/sys/windows/basetyps.d | 1 - libphobos/libdruntime/core/sys/windows/com.d | 1 - .../libdruntime/core/sys/windows/comcat.d | 1 - .../libdruntime/core/sys/windows/commctrl.d | 1 - .../libdruntime/core/sys/windows/commdlg.d | 1 - libphobos/libdruntime/core/sys/windows/cpl.d | 1 - .../libdruntime/core/sys/windows/cplext.d | 1 - .../libdruntime/core/sys/windows/custcntl.d | 1 - .../libdruntime/core/sys/windows/dbghelp.d | 1 - .../core/sys/windows/dbghelp_types.d | 1 - libphobos/libdruntime/core/sys/windows/dbt.d | 1 - libphobos/libdruntime/core/sys/windows/dde.d | 1 - .../libdruntime/core/sys/windows/ddeml.d | 1 - .../libdruntime/core/sys/windows/dhcpcsdk.d | 1 - libphobos/libdruntime/core/sys/windows/dlgs.d | 1 - libphobos/libdruntime/core/sys/windows/dll.d | 1 - .../libdruntime/core/sys/windows/docobj.d | 1 - .../libdruntime/core/sys/windows/errorrep.d | 1 - .../libdruntime/core/sys/windows/exdisp.d | 1 - .../libdruntime/core/sys/windows/httpext.d | 1 - .../libdruntime/core/sys/windows/imagehlp.d | 1 - libphobos/libdruntime/core/sys/windows/imm.d | 1 - .../libdruntime/core/sys/windows/intshcut.d | 1 - .../libdruntime/core/sys/windows/ipexport.d | 1 - .../libdruntime/core/sys/windows/iphlpapi.d | 1 - .../libdruntime/core/sys/windows/iprtrmib.d | 1 - .../libdruntime/core/sys/windows/iptypes.d | 1 - libphobos/libdruntime/core/sys/windows/lm.d | 1 - .../libdruntime/core/sys/windows/lmaccess.d | 1 - .../libdruntime/core/sys/windows/lmalert.d | 1 - libphobos/libdruntime/core/sys/windows/lmat.d | 1 - .../libdruntime/core/sys/windows/lmaudit.d | 1 - .../libdruntime/core/sys/windows/lmbrowsr.d | 1 - .../libdruntime/core/sys/windows/lmchdev.d | 1 - .../libdruntime/core/sys/windows/lmconfig.d | 1 - .../libdruntime/core/sys/windows/lmcons.d | 1 - .../libdruntime/core/sys/windows/lmerr.d | 1 - .../libdruntime/core/sys/windows/lmerrlog.d | 1 - .../libdruntime/core/sys/windows/lmmsg.d | 1 - .../libdruntime/core/sys/windows/lmremutl.d | 1 - .../libdruntime/core/sys/windows/lmrepl.d | 1 - .../libdruntime/core/sys/windows/lmserver.d | 1 - .../libdruntime/core/sys/windows/lmshare.d | 1 - .../libdruntime/core/sys/windows/lmsname.d | 1 - .../libdruntime/core/sys/windows/lmstats.d | 1 - .../libdruntime/core/sys/windows/lmsvc.d | 1 - .../libdruntime/core/sys/windows/lmuse.d | 1 - .../libdruntime/core/sys/windows/lmwksta.d | 1 - .../libdruntime/core/sys/windows/lzexpand.d | 1 - libphobos/libdruntime/core/sys/windows/mapi.d | 1 - .../libdruntime/core/sys/windows/mciavi.d | 1 - libphobos/libdruntime/core/sys/windows/mcx.d | 1 - .../libdruntime/core/sys/windows/mgmtapi.d | 1 - .../libdruntime/core/sys/windows/mmsystem.d | 1 - .../libdruntime/core/sys/windows/msacm.d | 1 - .../libdruntime/core/sys/windows/mshtml.d | 1 - .../libdruntime/core/sys/windows/mswsock.d | 1 - libphobos/libdruntime/core/sys/windows/nb30.d | 1 - .../libdruntime/core/sys/windows/nddeapi.d | 1 - .../libdruntime/core/sys/windows/nspapi.d | 1 - .../libdruntime/core/sys/windows/ntdef.d | 1 - .../libdruntime/core/sys/windows/ntdll.d | 1 - .../libdruntime/core/sys/windows/ntldap.d | 1 - .../libdruntime/core/sys/windows/ntsecapi.d | 1 - .../libdruntime/core/sys/windows/ntsecpkg.d | 1 - .../libdruntime/core/sys/windows/oaidl.d | 1 - .../libdruntime/core/sys/windows/objbase.d | 1 - .../libdruntime/core/sys/windows/objfwd.d | 1 - .../libdruntime/core/sys/windows/objidl.d | 1 - .../libdruntime/core/sys/windows/objsafe.d | 1 - .../libdruntime/core/sys/windows/ocidl.d | 1 - .../libdruntime/core/sys/windows/odbcinst.d | 1 - libphobos/libdruntime/core/sys/windows/ole.d | 1 - libphobos/libdruntime/core/sys/windows/ole2.d | 1 - .../libdruntime/core/sys/windows/oleacc.d | 1 - .../libdruntime/core/sys/windows/oleauto.d | 1 - .../libdruntime/core/sys/windows/olectl.d | 1 - .../libdruntime/core/sys/windows/oledlg.d | 1 - .../libdruntime/core/sys/windows/oleidl.d | 1 - libphobos/libdruntime/core/sys/windows/pbt.d | 1 - .../libdruntime/core/sys/windows/powrprof.d | 1 - .../libdruntime/core/sys/windows/prsht.d | 1 - .../libdruntime/core/sys/windows/psapi.d | 1 - libphobos/libdruntime/core/sys/windows/rapi.d | 1 - libphobos/libdruntime/core/sys/windows/ras.d | 1 - .../libdruntime/core/sys/windows/rasdlg.d | 1 - .../libdruntime/core/sys/windows/raserror.d | 1 - .../libdruntime/core/sys/windows/rassapi.d | 1 - .../libdruntime/core/sys/windows/reason.d | 1 - .../libdruntime/core/sys/windows/regstr.d | 1 - .../libdruntime/core/sys/windows/richedit.d | 1 - .../libdruntime/core/sys/windows/richole.d | 1 - libphobos/libdruntime/core/sys/windows/rpc.d | 1 - .../libdruntime/core/sys/windows/rpcdce.d | 1 - .../libdruntime/core/sys/windows/rpcdce2.d | 1 - .../libdruntime/core/sys/windows/rpcdcep.d | 1 - .../libdruntime/core/sys/windows/rpcndr.d | 1 - .../libdruntime/core/sys/windows/rpcnsi.d | 1 - .../libdruntime/core/sys/windows/rpcnsip.d | 1 - .../libdruntime/core/sys/windows/rpcnterr.d | 1 - .../libdruntime/core/sys/windows/schannel.d | 1 - .../libdruntime/core/sys/windows/sdkddkver.d | 1 - .../libdruntime/core/sys/windows/secext.d | 1 - .../libdruntime/core/sys/windows/security.d | 1 - .../libdruntime/core/sys/windows/servprov.d | 1 - .../libdruntime/core/sys/windows/setupapi.d | 1 - .../libdruntime/core/sys/windows/shellapi.d | 1 - .../libdruntime/core/sys/windows/shldisp.d | 1 - .../libdruntime/core/sys/windows/shlguid.d | 1 - .../libdruntime/core/sys/windows/shlobj.d | 1 - .../libdruntime/core/sys/windows/shlwapi.d | 1 - libphobos/libdruntime/core/sys/windows/snmp.d | 1 - libphobos/libdruntime/core/sys/windows/sql.d | 1 - .../libdruntime/core/sys/windows/sqlext.d | 1 - .../libdruntime/core/sys/windows/sqltypes.d | 1 - .../libdruntime/core/sys/windows/sqlucode.d | 1 - libphobos/libdruntime/core/sys/windows/sspi.d | 1 - .../libdruntime/core/sys/windows/stacktrace.d | 1 - libphobos/libdruntime/core/sys/windows/stat.d | 1 - .../core/sys/windows/stdc/malloc.d | 1 - .../libdruntime/core/sys/windows/subauth.d | 1 - .../libdruntime/core/sys/windows/threadaux.d | 1 - .../libdruntime/core/sys/windows/tlhelp32.d | 1 - .../libdruntime/core/sys/windows/tmschema.d | 1 - .../libdruntime/core/sys/windows/unknwn.d | 1 - libphobos/libdruntime/core/sys/windows/uuid.d | 1 - libphobos/libdruntime/core/sys/windows/vfw.d | 1 - .../libdruntime/core/sys/windows/w32api.d | 1 - .../libdruntime/core/sys/windows/winbase.d | 1 - .../libdruntime/core/sys/windows/winber.d | 1 - .../libdruntime/core/sys/windows/wincon.d | 1 - .../libdruntime/core/sys/windows/wincrypt.d | 1 - .../libdruntime/core/sys/windows/windef.d | 1 - .../libdruntime/core/sys/windows/windows.d | 1 - .../libdruntime/core/sys/windows/winerror.d | 1 - .../libdruntime/core/sys/windows/wingdi.d | 1 - .../libdruntime/core/sys/windows/winhttp.d | 1 - .../libdruntime/core/sys/windows/wininet.d | 1 - .../libdruntime/core/sys/windows/winioctl.d | 1 - .../libdruntime/core/sys/windows/winldap.d | 1 - .../libdruntime/core/sys/windows/winnetwk.d | 1 - .../libdruntime/core/sys/windows/winnls.d | 1 - .../libdruntime/core/sys/windows/winnt.d | 1 - .../libdruntime/core/sys/windows/winperf.d | 1 - .../libdruntime/core/sys/windows/winreg.d | 1 - .../libdruntime/core/sys/windows/winsock2.d | 1 - .../libdruntime/core/sys/windows/winspool.d | 1 - .../libdruntime/core/sys/windows/winsvc.d | 1 - .../libdruntime/core/sys/windows/winuser.d | 1 - .../libdruntime/core/sys/windows/winver.d | 1 - .../libdruntime/core/sys/windows/wtsapi32.d | 1 - .../libdruntime/core/sys/windows/wtypes.d | 1 - libphobos/libdruntime/rt/dmain2.d | 2 +- libphobos/src/MERGE | 2 +- libphobos/src/std/algorithm/iteration.d | 25 +- libphobos/src/std/algorithm/mutation.d | 1 + libphobos/src/std/array.d | 3 +- libphobos/src/std/ascii.d | 6 +- libphobos/src/std/base64.d | 4 +- libphobos/src/std/bitmanip.d | 98 +-- libphobos/src/std/container/binaryheap.d | 2 + libphobos/src/std/digest/murmurhash.d | 10 +- libphobos/src/std/exception.d | 203 +++-- .../src/std/experimental/allocator/common.d | 20 + libphobos/src/std/file.d | 55 +- libphobos/src/std/format/internal/write.d | 40 +- libphobos/src/std/internal/windows/advapi32.d | 4 +- libphobos/src/std/json.d | 3 + libphobos/src/std/net/curl.d | 2 +- libphobos/src/std/random.d | 24 +- libphobos/src/std/stdio.d | 6 +- libphobos/src/std/string.d | 1 + libphobos/src/std/traits.d | 8 + libphobos/src/std/typecons.d | 790 +++++++++++++++--- libphobos/src/std/uni/package.d | 11 +- 379 files changed, 3821 insertions(+), 1980 deletions(-) create mode 100644 gcc/testsuite/gdc.dg/simd18867.d create mode 100644 gcc/testsuite/gdc.dg/simd19630b.d create mode 100644 gcc/testsuite/gdc.dg/simd19630c.d create mode 100644 gcc/testsuite/gdc.dg/simd19788.d create mode 100644 gcc/testsuite/gdc.dg/simd21469.d create mode 100644 gcc/testsuite/gdc.dg/simd21672.d create mode 100644 gcc/testsuite/gdc.dg/simd23077.d create mode 100644 gcc/testsuite/gdc.dg/simd23084.d create mode 100644 gcc/testsuite/gdc.dg/simd23085.d delete mode 100644 gcc/testsuite/gdc.dg/simd_ctfe.d create mode 100644 gcc/testsuite/gdc.dg/torture/simd19632.d create mode 100644 gcc/testsuite/gdc.dg/torture/simd20041.d create mode 100644 gcc/testsuite/gdc.dg/torture/simd21673.d create mode 100644 gcc/testsuite/gdc.dg/torture/simd21676.d create mode 100644 gcc/testsuite/gdc.dg/torture/simd22438.d create mode 100644 gcc/testsuite/gdc.dg/torture/simd23009.d create mode 100644 gcc/testsuite/gdc.dg/torture/simd23077.d create mode 100644 gcc/testsuite/gdc.dg/torture/simd8.d create mode 100644 gcc/testsuite/gdc.dg/torture/simd9.d create mode 100644 gcc/testsuite/gdc.dg/torture/simd_prefetch.d create mode 100644 gcc/testsuite/gdc.test/compilable/imports/pkg22952/package.d create mode 100644 gcc/testsuite/gdc.test/compilable/noreturn3.d create mode 100644 gcc/testsuite/gdc.test/compilable/scope_tuple_expansion.d create mode 100644 gcc/testsuite/gdc.test/compilable/test22784.d create mode 100644 gcc/testsuite/gdc.test/compilable/test22952.d create mode 100644 gcc/testsuite/gdc.test/compilable/test23380.d create mode 100644 gcc/testsuite/gdc.test/compilable/test23386.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/diag23384.d delete mode 100644 gcc/testsuite/gdc.test/fail_compilation/fail10905.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fail23406.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/systemvariables.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/systemvariables_deprecation.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/systemvariables_struct.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/systemvariables_void_init.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/templatethis.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/warn14905.d create mode 100644 gcc/testsuite/gdc.test/fail_compilation/xmmslice.d create mode 100644 gcc/testsuite/gdc.test/runnable/cdcmp.d create mode 100644 gcc/testsuite/gdc.test/runnable/test23337.d