Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Propagate cfg annotations on COM class methods #166

Open
rylev opened this issue Sep 2, 2020 · 1 comment · May be fixed by #234
Open

Propagate cfg annotations on COM class methods #166

rylev opened this issue Sep 2, 2020 · 1 comment · May be fixed by #234
Labels
enhancement New feature or request

Comments

@rylev
Copy link
Contributor

rylev commented Sep 2, 2020

It can be useful for COM class methods to be conditionally compiled. We should propagate conditional compilation.

This would be useful for use in hassle-rs.

@rylev rylev added the enhancement New feature or request label Sep 2, 2020
@MarijnS95
Copy link
Contributor

Hoping we don't need it "soon" when I get around to fixing vtable misalignment issues in DirectXShaderCompiler. Might still be useful for us in the short term and other projects later on, though 🙂

@rylev rylev modified the milestone: v0.3 Oct 7, 2020
MarijnS95 added a commit to MarijnS95/com-rs that referenced this issue Feb 1, 2022
We have a very peculiar workaround for DXC (pending upstream fix
[microsoft/DirectXShaderCompiler#3793]) that requires us to
conditionally provide function implementations for extra vtable
"spacers": https://github.com/Traverse-Research/hassle-rs/blob/f5a090c70bbcf66f3bafd3d549716a414e873838/src/wrapper.rs#L130-L139.
The spacers are conditionally defined in:
https://github.com/Traverse-Research/hassle-rs/blob/f5a090c70bbcf66f3bafd3d549716a414e873838/src/unknown.rs.

These need to be forwarded otherwise the initialization of these vtable
members will happen unconditionally even when they don't exist:
https://github.com/Traverse-Research/hassle-rs/actions/runs/1777800733

Fixes microsoft#166
[microsoft/DirectXShaderCompiler#3793]: microsoft/DirectXShaderCompiler#3793
MarijnS95 added a commit to MarijnS95/com-rs that referenced this issue Feb 1, 2022
We have a very peculiar workaround for DXC (pending upstream fix
[microsoft/DirectXShaderCompiler#3793]) that requires us to
conditionally provide function implementations for extra vtable
"spacers": https://github.com/Traverse-Research/hassle-rs/blob/f5a090c70bbcf66f3bafd3d549716a414e873838/src/wrapper.rs#L130-L139.
The spacers are conditionally defined in:
https://github.com/Traverse-Research/hassle-rs/blob/f5a090c70bbcf66f3bafd3d549716a414e873838/src/unknown.rs.

These need to be forwarded otherwise the initialization of these vtable
members will happen unconditionally even when they don't exist:
https://github.com/Traverse-Research/hassle-rs/actions/runs/1777800733

Fixes microsoft#166
[microsoft/DirectXShaderCompiler#3793]: microsoft/DirectXShaderCompiler#3793
MarijnS95 added a commit to MarijnS95/com-rs that referenced this issue Mar 28, 2023
We have a very peculiar workaround for DXC (pending upstream fix
[microsoft/DirectXShaderCompiler#3793]) that requires us to
conditionally provide function implementations for extra vtable
"spacers": https://github.com/Traverse-Research/hassle-rs/blob/f5a090c70bbcf66f3bafd3d549716a414e873838/src/wrapper.rs#L130-L139.
The spacers are conditionally defined in:
https://github.com/Traverse-Research/hassle-rs/blob/f5a090c70bbcf66f3bafd3d549716a414e873838/src/unknown.rs.

These need to be forwarded otherwise the initialization of these vtable
members will happen unconditionally even when they don't exist:
https://github.com/Traverse-Research/hassle-rs/actions/runs/1777800733

Fixes microsoft#166
[microsoft/DirectXShaderCompiler#3793]: microsoft/DirectXShaderCompiler#3793
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants