Chris B
Chris B
The PR still doesn't have a test case verifying unions in cbuffers. I checked out the PR locally built and tried to run the following code and the compiler crashes:...
I'm a little confused here. That code is inside a block that is only run if your compiler is Clang, so I don't see how you would hit this with...
CMake does not support changing the compiler without deleting the build directory and starting over. I'm guessing that's the root of what happened here. If that is the case there...
The option is _only_ added if you're using clang, so I don't see how this is a portability issue.
As a note, the official CMake docs say you cannot change the compiler after it is set: https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER.html The only way I can see this being an issue is if...
Upstream LLVM resolved this issue with the following commit: https://github.com/llvm/llvm-project/commit/2874d285b9f35af8ca6c0268d3aadea4fe671c68 Might be worth just cherry-picking that back instead of diverging.
The general issue here is that DXC verifies declaration attributes during first-pass parsing. This just flat out doesn't work with templates. With templates the attribute validation needs to be performed...
There are related issues with type aliases and templates (#4722). These all come back to how the type attribute is implemented and not preserved.
I think there is enough feedback here that I'm going to need to step back and rework things. I'll mark this as a draft and iterate a bit.
I know that DXC doesn't have the full features that LIT supports in LLVM, but I don't think this test meaningfully verifies the behavior of global initializers. The missing test...