[PATCH] D101030: [OpenMP] Overhaul `declare target` handling

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 23 06:40:20 PDT 2021


ABataev added inline comments.


================
Comment at: clang/lib/Parse/ParseOpenMP.cpp:2134-2151
+    Sema::DeclareTargetContextInfo *DTCI =
+        new Sema::DeclareTargetContextInfo(DKind, DTLoc);
+    if (HasClauses)
+      ParseOMPDeclareTargetClauses(*DTCI);
 
     // Skip the last annot_pragma_openmp_end.
     ConsumeAnyToken();
----------------
jdoerfert wrote:
> ABataev wrote:
> > Add a RAII to control these new/delete or just create local var
> Local variable and RAII do not always work, there is a delete in the `end_declare_target` below as well.
> 
> 
But here you have new/delete pair within a single block. Either you can put the ar into stack/RAII or some extra checks are missing. Maybe must be something like this:
```
if (DKind == OMPD_declare_target)
  delete DTCI;
```
?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D101030



More information about the llvm-commits mailing list