mirror of
https://github.com/dlang/dmd.git
synced 2025-04-25 20:50:41 +03:00
dmd D Programming Language compiler
![]() The gnu attribute aligned() allows specifying the alignment of an entire struct, mostly as a syntatic convenience. This attribute allows compile-time integer expressions, but the parser was trying to evaluate them ahead of time by checking for an integer literal. Instead we need to preserve the expression and defer it to a later semantic stage. Accomplish this by emulating the behavior by specifying the alignment of the first member of the struct. I didn't change how __declspec(align(#)) parses as from the documentation it seems to only allow integer literals. Some light testing with cl.exe gives syntax errors when trying to use _Alignof() in that position. |
||
---|---|---|
.azure-pipelines | ||
.circleci | ||
.github/workflows | ||
changelog | ||
ci | ||
compiler | ||
druntime | ||
src | ||
.cirrus.yml | ||
.codecov.yml | ||
.editorconfig | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.pre-commit-config.yaml | ||
azure-pipelines.yml | ||
CODEOWNERS | ||
config.d | ||
CONTRIBUTING.md | ||
dub.sdl | ||
LICENSE.txt | ||
Makefile | ||
posix.mak | ||
README.md | ||
VERSION |
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 |
---|---|
changelog | changelog entries for the upcoming release |
ci | CI related scripts / utilities |
compiler | root of all compiler (DMD/frontend) related code |
compiler/src | source code, build system and build instructions |
compiler/test | tests and testing infrastructure |
compiler/docs | man pages and internal documentation |
compiler/ini | predefined dmd.conf files |
druntime | root of all runtime related code |
With a D compiler and dub installed, dmd can be built with:
dub build dmd:compiler
For more 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 / Phobos master
branch
can be found here.