[PATCH] D146893: [ADT] Work around MSVC bug affecting `get(enumerator_result)`

Jakub Kuderski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 28 08:14:33 PDT 2023


kuhar added a comment.

In D146893#4227583 <https://reviews.llvm.org/D146893#4227583>, @jurahul wrote:

> Looks like there are still issues with MSVC 14.29.xxxx
>
>   C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\utility(492): error C2338: tuple index out of bounds
>   C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\utility(504): note: see reference to class template instantiation 'std::tuple_element<0,std::tuple<>>' being compiled
>   C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\utility(504): note: see reference to class template instantiation 'std::tuple_element<1,std::tuple<const mlir::utils::IteratorType &>>' being compiled
>   external/llvm-project/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp(1152): note: see reference to class template instantiation 'std::tuple_element<2,std::tuple<size_t,const mlir::utils::IteratorType &>>' being compiled
>   external/llvm-project/llvm/include\llvm/ADT/STLExtras.h(2323): note: see reference to alias template instantiation 'std::tuple_element_t<2,std::tuple<size_t,const mlir::utils::IteratorType &>>' being compiled

Gah... Are you able to check if replacing `std::tuple_element_t<I, value_reference_tuple>` with `decltype(auto)` fixes that? The explicit return type was not necessary on 2022 17.1 but something I used to debug the previous failure and never bothered undoing.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146893/new/

https://reviews.llvm.org/D146893



More information about the llvm-commits mailing list