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

Reply via email to