dmd D Programming Language compiler
Find a file
drpriver f4ca164257
Fix #20499 - [ImportC] typedef struct with name as a pointer cannot be used with struct name (#21232)
Fixes https://github.com/dlang/dmd/issues/20499
Fixes https://github.com/dlang/dmd/issues/20963

ImportC deferred declaring "tagged" types (structs/unions/enums)
until after it saw a possible typedef so that the identifier for
a typedef declaration like:

    typedef struct { int x; } Foo;

would give the struct the name Foo. In several circumstances,
this led to tagged types not being declared. Resolve this by
chasing down those circumstances.

Also, there were other circumstances where types weren't being
correctly declared which caused other issues. Lock those down.
2025-04-15 15:31:21 +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 #20499 - [ImportC] typedef struct with name as a pointer cannot be used with struct name (#21232) 2025-04-15 15:31:21 +08:00
druntime Changed author name to new one (#21217) 2025-04-13 08:23:30 +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.