lildmh added a comment. In D67833#2155196 <https://reviews.llvm.org/D67833#2155196>, @fhahn wrote:
> I think this change introduced the following warnings, where `auto &` is used > for types that are always copied. It would be great if you could take a look. > > lvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:8011:24: warning: loop > variable 'L' is always a copy because the range of type > 'clang::OMPMappableExprListClause<clang::OMPToClause>::const_component_lists_range' > (aka > 'iterator_range<clang::OMPMappableExprListClause<clang::OMPToClause>::const_component_lists_iterator>') > does not return a reference [-Wrange-loop-analysis] > for (const auto &L : C->component_lists()) { > ^ > llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:8011:12: note: use > non-reference type 'std::__1::tuple<const clang::ValueDecl *, > llvm::ArrayRef<clang::OMPClauseMappableExprCommon::MappableComponent>, const > clang::ValueDecl *>' > for (const auto &L : C->component_lists()) { > ^~~~~~~~~~~~~~~ > llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:8016:24: warning: loop > variable 'L' is always a copy because the range of type > 'clang::OMPMappableExprListClause<clang::OMPFromClause>::const_component_lists_range' > (aka > 'iterator_range<clang::OMPMappableExprListClause<clang::OMPFromClause>::const_component_lists_iterator>') > does not return a reference [-Wrange-loop-analysis] > for (const auto &L : C->component_lists()) { > ^ > llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:8016:12: note: use > non-reference type 'std::__1::tuple<const clang::ValueDecl *, > llvm::ArrayRef<clang::OMPClauseMappableExprCommon::MappableComponent>, const > clang::ValueDecl *>' > for (const auto &L : C->component_lists()) { > ^~~~~~~~~~~~~~~ > llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:8032:24: warning: loop > variable 'L' is always a copy because the range of type > 'clang::OMPMappableExprListClause<clang::OMPUseDevicePtrClause>::const_component_lists_range' > (aka > 'iterator_range<clang::OMPMappableExprListClause<clang::OMPUseDevicePtrClause>::const_component_lists_iterator>') > does not return a reference [-Wrange-loop-analysis] > for (const auto &L : C->component_lists()) { > ^ > llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:8032:12: note: use > non-reference type 'std::__1::tuple<const clang::ValueDecl *, > llvm::ArrayRef<clang::OMPClauseMappableExprCommon::MappableComponent>, const > clang::ValueDecl *>' > for (const auto &L : C->component_lists()) { > ^~~~~~~~~~~~~~~ > 3 warnings generated. > Thanks, I'll fix this soon. Basically `&L` needs to be `L` instead in those 3 places. Since I don't have upload permission, it will be great if you can do the change quickly Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67833/new/ https://reviews.llvm.org/D67833 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits