CARVIEW |
Select Language
HTTP/2 302
date: Fri, 25 Jul 2025 17:26:18 GMT
content-type: text/html; charset=utf-8
content-length: 0
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
location: https://github.com/jacob-carlborg/dstep/releases/tag/v1.0.0
cache-control: no-cache
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
set-cookie: _gh_sess=XyDyywQu9lbDgsXYzwtRT8iYegykM%2B%2BHnlGeShuFBN0tUdnfgpvoO%2FOEhJziPBj4MyP9qrpgjgkj6GedqU6KHzt7YeY9EKgYmrR7HBE4ZEzVZlLyxQkNoETUuknPrvixU2BdIxmEhDmtajJMEoQq643dKtW8%2B3UanThyYwJPiRM4SmpycI7AAH3vHaJTCol6jSMLk7Y268UI30Gqpr0Im6YHZcooai6npi2TIl7KUV570CG9JuIxwWgRz8IHZa6iWlFnXCYIagCcTnI3vT%2BsrQ%3D%3D--%2B7i0Psb2klz0URy7--9vwwKhsEUGsSkXpIhM23Jw%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.334528704.1753464378; Path=/; Domain=github.com; Expires=Sat, 25 Jul 2026 17:26:18 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sat, 25 Jul 2026 17:26:18 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: BB0A:2FA4B7:4BF54:5CA28:6883BE3A
HTTP/2 200
date: Fri, 25 Jul 2025 17:26:19 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"6c4bbdbc94356a1fd0448449f625b003"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
x-github-request-id: BB0A:2FA4B7:4BF77:5CA5F:6883BE3A
Release DStep 1.0.0 Β· jacob-carlborg/dstep Β· GitHub
Loading
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 37
Compare
This is a new major version with a whole bunch of new features and bug fixes. The biggest features are support for translating some preprocessor directives like: #define
for simple constants and function like macros. This release also adds support for a new platform, Windows.
Here's the full changelog:
New/Changed Features
- Support for simple defines (like
#define FOO 1
) - Translation of defines to functions (like
#define FOO(a, b) a + b
) - Support for preprocessor token-pasting operator (
##
) - Support for translation of whole packages (
--package
CLI option) - Support for translation of preprocessor constants in array sizes
- Support for global comments and comments inside structs and enums
- Detecting collisions of renamed tag-space names (struct name_t ...) with existing ones
- Special treatment of a comment before header guard
- Support for removing excessive newlines and keeping original spacing
- Basic unit tests were added
- Cucumber tests were replaced with D-based tests
- Statements are now translated in the original order as the input file
- Multiple input files can be processed at once
- Extend a functionality that automatically replaces aliases to basic types with their D equivalents
- Add a switch
--reduce-aliases
which disables/enables the above functionality - Add a switch
--alias-enum-members
which enables generation of aliases for enum members in the global scope - Add a switch
--translate-macros
which can disable the translation of C macro definitions - Add the
libclang
bindings as a test case - Add support for Microsoft Windows
- Run Windows tests on AppVeyor
- Handle complex floating-point types.
- Use the new alias syntax (
alias Y = X
) in the output - Support for custom global attributes (e.g.
nothrow
,@nogc
) - Add support for building with LDC
- Bump the minimum requirement D compilers to their latest version
- Always test using the latest version of DMD and LDC, including beta and nightly builds
- Bump the minimum requirement of libclang to 7.0.0
- Automatically generate the libclang bindings using DStep
- Add a switch
--rename-enum-members
, which enables stripping of superfluous prefixes from enum members. - Add a switch
--normalize-modules
, which enables changing the names of modules to the D conforming form. - Add support for bit fields.
Bugs Fixed
- Issue 2: Self alias should be removed bug
- Issue 8: Typedef and anonymous structs
- Issue 10: Embedded struct not generated
- Issue 20:
#define
(simplest cases only?) - Issue 21:
wchar_t
should be translated tocore.stdc.stddef.wchar_t
- Issue 28: Crashes if fed nonexistent header
- Issue 29: Don't name anonymous enums
- Issue 30: Single space inserted after function names
- Issue 38: Spurious generation of variadic args rather than implicit void
- Issue 39: Recognize and translate
__attribute__((__packed__))
- Issue 46: Generating code that will not compile
- Issue 47: Treatment of #define enhancement
- Issue 50: struct typedef generates recursive alias bug
- Issue 59: Shouldn't dstep exit with status code when there is some kind of error
- Issue 83: New multiline translation
- Issue 85: dstep not converting
const T x[]
toconst (T)* x
- Issue 98: dstep segfaults: Unhandled type kind cast(CXTypeKind)119
- Issue 107: Handle typedef of opaque structs.
- Issue 114: Crash on recursive typedef.
- Issue 116: Option --space-after-function-name doesn't work with function pointer syntax.
- Issue 117: fatal error: 'limits.h' file not found.
- Issue 123: Missing import for usage of
#define
constant. - Issue 137: struct member expansion.
- Issue 138: Repeated declarations cause problems.
- Issue 140: On enums and scope.
- Issue 141: Use of _IO, _IOR, etc.
- Issue 154: Falling back to blunt pre-processor phase.
- Issue 157: Keep enum members when used as enum values.
- Issue 158: Keep literals for enum values.
- Issue 160: Translating typedef of function pointer doesn't take line length into consideration.
- Issue 166: macro used in struct declaration not translated properly
- Issue 192: Fail to convert nuklear
- Issue 199:
#define
of types results in incorrect output - Issue 202: Invalid translation of C struct with typedef to D.
- Issue 203: Octal constants not handled correctly
- Issue 204: C INT_MAX not handled.
- Issue 214: Cast inside macro not properly translated
- Issue 216: can't alias to existing D type
Assets 6
1 person reacted
You canβt perform that action at this time.