[clang] [llvm] [OpenACC] Switch Clang to use the Flang 'appertainment' rules for cla… (PR #135372)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Fri Apr 11 17:00:16 PDT 2025


erichkeane wrote:

That latest patch that implements the 'routine' worker/seq/vector/gang restrictions reduces us to 13 test failures in clang!  

This is my analysis of them:
```
  
FLANG: `atomic-if'  (Valentin has  PR)
    Clang :: SemaOpenACC/atomic-construct.cpp
    Clang :: ParserOpenACC/parse-clauses.c
    Clang :: AST/ast-print-openacc-atomic-construct.cpp
    Clang :: ParserOpenACC/parse-clauses.cpp
    Clang :: SemaOpenACC/atomic-construct-ast.cpp
  
FLANG: Doesn't prohibit gang/worker/vector/seq' on 'loop'/combined correctly (UNK way forward right now)
    Clang :: SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    Clang :: SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
  
FLANG: 'tile' prohibited >1x (Standard doesn't support, UNK way forward right now)
    Clang :: SemaOpenACC/loop-construct-tile-clause.cpp
    Clang :: SemaOpenACC/combined-construct-tile-clause.cpp
  
Disagreements on 'num_gangs' appearing >1x on kernels/kernels-loop (justification for kernels-loop should apply to kernels as well?) (UNK way forward right now)
    Clang :: SemaOpenACC/compute-construct-num_gangs-clause.c
  
FLANG: prohibits device_num/if >1x  ('if' probably should be prohibited, i'll write a patch to do so) (device_num UNK way forward RN).
  Clang :: SemaOpenACC/init-construct.cpp
  Clang :: SemaOpenACC/shutdown-construct.cpp
  
Disagreement on 'bind' on a 'routine'. (UNK way forward right now)
   Clang :: SemaOpenACC/routine-construct-clauses.cpp
```

https://github.com/llvm/llvm-project/pull/135372


More information about the cfe-commits mailing list