================

----------------
zahiraam wrote:

I investigated adding `IsBindingDecl` to this condition. However, this creates  
   many failures throughout the `lastprivate` `codegen` paths that assume only 
`VarDecl`'s are present:
  1. `SemaOpenMP.cpp`:2974 - `EndOpenMPDSABlock / FinalizeLastprivate` 
  2. `CGStmtOpenMP.cpp`:1437 - `EmitOMPLastprivateClauseInit` 
  3.` CGStmtOpenMP.cpp`:1546 - `EmitOMPLastprivateClauseFinal` (multiple 
locations).
  4. `CGStmtOpenMP.cpp`:1910, 1921 - `checkForLastprivateConditionalUpdate`   
  5. `CGOpenMPRuntime.cpp`:5665 - `generateUniqueName`                          
                                                  
  6. Potentially more in the OpenMP runtime implementation                      
                
                                                                                
           
The entire `lastprivate` infrastructure in both `Sema` and `CodeGen` was 
designed around` VarDecls` having storage that can be written back to.          
                                         
Can we defer `lastprivate` support for `BindingDecls` to a follow-up PR? 

https://github.com/llvm/llvm-project/pull/190832
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to