dmd D Programming Language compiler
Find a file
drpriver 1244ef260b
Fix #21241 - ImportC: wrong static function called after linking (#21242)
Fixes https://github.com/dlang/dmd/issues/21241

C Static functions were being given the same externally mangled
name as their identifier, which caused only one to be picked
when linking with linkers that supported that.

Additionally, the dmd glue code was only outputting one of these
static functions as a workaround for a different linker issue.

Solve this by giving C static functions a unique name (by using D
mangling) and adding an `isStatic()` check to the dmd glue hack.
2025-04-16 10:13:50 +08:00
.azure-pipelines
.circleci
.github/workflows GHA main: Add Alpine Linux job, to CI-test musl libc (#20741) 2025-01-28 00:28:20 +01:00
changelog Merge remote-tracking branch 'origin/stable' 2025-04-12 11:55:36 +02:00
ci GHA main: Add Alpine Linux job, to CI-test musl libc (#20741) 2025-01-28 00:28:20 +01:00
compiler Fix #21241 - ImportC: wrong static function called after linking (#21242) 2025-04-16 10:13:50 +08:00
druntime Templatize _d_arraysetcapacity hook (#21143) 2025-04-15 18:07:47 +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.