dmd D Programming Language compiler
Find a file
Geod24 b3cc517966 Allow -preview=in only with extern(D|C++)
The intent of `-preview=in` is to make `in` the go-to storage class for input parameters in D.
However it is D centric, as it is an enhanced version of `scope const ref`.
As non-`extern(D)` functions usually are expected to match a specific ABI,
using `in` is hardly a good idea.

However, as C++, also have a "go to" storage class for input parameters (`const T&`),
`in` can also be applied on `extern(C++)` function in order to bind to `const T&` parameters.
This also allows to expose a closer API for a function than via `const ref`,
as `in` will allow to bind rvalues to `const T&`, as in C++.
2022-06-20 12:56:14 +00:00
.azure-pipelines ImportC preprocess Win32 C programs with sppn.exe (#14090) 2022-05-12 12:17:36 +03:00
.circleci CircleCI: Pass BUILD and MODEL to run.d during validation 2022-04-16 04:38:45 +02:00
.github/workflows ci(github): update actions/download-artifact from v2 to v3 2022-03-30 07:40:22 +08:00
changelog Allow -preview=in only with extern(D|C++) 2022-06-20 12:56:14 +00:00
ci ci/cirrusci.sh: Remove brew update-reset from cirrusci script 2022-05-26 02:06:26 +02:00
docs treewide: fix end of file to conform with POSIX 3.206 (#13638) 2022-03-22 13:20:27 +02:00
ini Adapt default sc.ini to MsCoff by default 2022-02-05 21:08:21 +01:00
samples treewide: fix end of file to conform with POSIX 3.206 (#13638) 2022-03-22 13:20:27 +02:00
src Allow -preview=in only with extern(D|C++) 2022-06-20 12:56:14 +00:00
test Allow -preview=in only with extern(D|C++) 2022-06-20 12:56:14 +00:00
.cirrus.yml cirrus.yml: Bump FreeBSD images to version 12.3 and 13.0 2022-05-09 13:54:58 +00:00
.codecov.yml Fix capitalization of CircleCI in codecov configuration 2021-10-19 01:53:57 +00:00
.editorconfig Replace http:// with https:// for various links throughout codebase 2021-12-22 21:45:11 +00:00
.gitattributes test: make testsuite conform with POSIX 3.206 (#13639) 2022-02-14 11:14:07 +02:00
.gitignore .gitignore: Extend list of ignored files/directorys 2022-04-15 23:47:30 +00:00
.pre-commit-config.yaml chore(pre-commit): bump hook versions 2022-05-29 22:50:23 +00:00
azure-pipelines.yml Merge branch 'stable' into merge_stable 2022-02-11 20:17:02 +01:00
CODEOWNERS Remove myself as *.h code owner 2021-06-26 08:56:21 +00:00
config.d fix(dub): Make config.d executable to incremental compilation (#13712) 2022-02-28 14:08:59 +02:00
CONTRIBUTING.md Move copyright notice to CONTRIBUTING.md 2022-01-13 17:27:22 +01:00
dub.sdl Move dmd.utf to the root library 2021-12-30 21:58:50 +00:00
LICENSE.txt
posix.mak Build dmd before attempting to test it 2020-09-17 01:20:19 +02:00
README.md Revise introduction and add an overview of the repository structure 2022-01-13 19:01:40 +01:00
VERSION bump VERSION to v2.100.0 2022-05-10 19:04:59 +02:00
win32.mak treewide: fix end of file to conform with POSIX 3.206 (#13638) 2022-03-22 13:20:27 +02:00
win64.mak Updated comments on top-level win64.mak 2017-11-01 12:22:18 +01:00

dlang logo

DMD

GitHub tag Code coverage Bugzilla Issues license

Build status CircleCI Build Status Buildkite


DMD is the reference compiler for the D programming language.

Releases, language specification and other resources can be found on the homepage. Please refer to the guidelines for bug reports to report a problem or browse the list of open bugs.

Overview

This repository is structured into the following directories. Refer to their respective README.md for more in-depth information.

Directory Description
src source code, build system and build instructions
test tests and testing infrastructure
changelog changelog entries for the upcoming release
ci CI related scripts / utilities
docs man pages and internal documentation
ini predefined dmd.conf files
samples Various code examples

For more general information regarding compiling, installing, and hacking on DMD, check the contribution guide and visit the D Wiki.

Nightlies

Nightly builds based of the current DMD / DRuntime / Phobos master branch can be found here.