dmd D Programming Language compiler
Find a file
drpriver 856d4921a0 Fix #21271 - ImportC: incorrect compatibility macro for __pragma
Fixes https://github.com/dlang/dmd/issues/21271

Redefine the compatibility macro in terms of C99's `_Pragma()`
instead of ignoring it. Clang and GCC will replace `_Pragma()`
with `#pragma` directives in the preprocessed output, while
cl.exe will actually convert it back to `__pragma()`.

This is still a better situation than before as ImportC partially
supports `__pragma()`.
2025-04-19 18:37:13 +08:00
.azure-pipelines
.circleci
.github/workflows
changelog Merge remote-tracking branch 'origin/stable' 2025-04-12 11:55:36 +02:00
ci
compiler Fix #21271 - ImportC: incorrect compatibility macro for __pragma 2025-04-19 18:37:13 +08:00
druntime Fix #21271 - ImportC: incorrect compatibility macro for __pragma 2025-04-19 18:37:13 +08:00
src
.cirrus.yml
.codecov.yml
.editorconfig
.git-blame-ignore-revs
.gitattributes
.gitignore Refactored memcpy calls to D slices (#21062) 2025-03-24 07:12:13 +08:00
.pre-commit-config.yaml
azure-pipelines.yml
CODEOWNERS
config.d [stable] build.d: Fix VERSION fallback if git describe fails (#21133) 2025-04-01 22:10:37 +02:00
CONTRIBUTING.md
dub.sdl Fix dub file for dscanner (#20978) 2025-03-12 07:29:09 +08:00
LICENSE.txt
Makefile
posix.mak
README.md
VERSION merge stable (#21127) 2025-03-31 15:54:53 +02:00

dlang logo

DMD

GitHub tag Code coverage 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
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.