Qualcomm AI Engine Direct - Remove C++ designated initializers for Windows MSVC - #20441
Conversation
…ndows MSVC - Designated initializers for C++ aggregates were standardized in C++20. GCC and Clang have supported them as a C++11/14/17 extension. They silently accept the syntax even when compiling in -std=c++17 mode. - MSVC is strictly conformant: it only accepts designated initializers when /std:c++20 (or /std:c++latest) is active.
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/20441
Note: Links to docs will display an error until the docs builds have been completed. ❌ You can merge normally! (1 Unrelated Failure), 2 Unclassified FailuresAs of commit a55d31d with merge base 60b1351 ( UNCLASSIFIED FAILURES - DrCI could not classify the following jobs because the workflow did not run on the merge base. The failures may be pre-existing on trunk or introduced by this PR:
BROKEN TRUNK - The following job failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a
|
|
Hi @GregoryComer and @psiddh, Thanks for the review! |
|
@psiddh has imported this pull request. If you are a Meta employee, you can view this in D109863039. |
|
Hi @psiddh, It appears that the test-llama-runner-qnn-linux job encountered an error in CI. After taking a look, it seems to be caused by an unstable connection. |
|
Don't worry. We will add a test case for qualcomm windows build to avoid this situation in the community |
|
Do yo know why pull / test-llama-runner-qnn-linux (fp32, qnn_16a16w, qnn) / linux-job (pull_request)Failing after 33m is failing ? I assume it is unrelated |
I think it is unrelated. |
Summary
This PR is a follow-up to #19686
Due to the changes in #19621, additional adjustments are required for Windows MSVC compatibility. This PR removes remaining C++ designated initializers and aligns the implementation accordingly.
-std=c++17mode./std:c++20(or/std:c++latest) is active.