Let's start with C (3/6) instead of C++ (2/6) as it should be simpler …

* * *

For what it is worth, the 'c-family/c-omp.cc' change in the 2/6 patch LGTM,
just in case you want to commit things out of order …

Side remark, mostly because that I don't forgot it myself:
        * c-omp.cc (c_omp_directives): Uncomment "begin declare variant"
        and "end declare variant".
We actually forgot to update/uncomment the metadirective entries
(and declare mapper). I wonder whether we forgot more ...

...

In the weeks between writing this remark and now continuing, I have
fixed. However, it means that this chunk of 2/6 needs to be (trivially)
rediffed. Otherwise, nothing has bitrotted as far as I can see.

* * *

Sandra Loosemore wrote:

+      /* If this function was in a "begin declare variant" block,
+        remember it.  We will associate it with the base function at
+        the end of processing the translation unit, since it is permitted
+        for the variant definition to appear before the base declaration.  */
+      if (dv_base && current_function_decl != error_mark_node)
+       {
+         omp_begin_declare_variant_map_entry e
+           = { current_function_decl, dv_base, dv_ctx };
+         vec_safe_push (omp_begin_declare_variant_map, e);
+       }

The idea seems to be that it is even valid without any declared
base function – and then error out. However, that's not fully
specified (cf. OpenMP specification Issue 4464); as mentioned in 5/6,
let's use the current version for now – and worry about this later.

Otherwise, I have nothing spotted here. - Hence, a very belated: LGTM.

Tobias

Reply via email to