<div><div dir="auto">I pulled this patch, I need to adjust the declarations because you added the execution policy to the signatures. I have a separate experimental fork which does the same, but it is not part of what was submitted for GCC9.</div></div><div dir="auto"><br></div><div dir="auto">I will resubmit this patch after adjusting the signatures. There will be a follow on patch that actually includes these forward definitions appropriately.</div><div dir="auto"><br></div><div dir="auto">As for rationalising file names, I don’t have any objections, but I also don’t have any suggestions other than libstdc++ use ‘_fwd.h’ as a naming convention for forward declarations and we could certainly rename the ‘glue_Xxx.h’ to something else to be more consistent.</div><div dir="auto"><br></div><div dir="auto">Having said all of that, I have a very narrow window to still make the GCC9 release so I will not be entertaining much churn in the source structure beyond this merge for that deliverable.</div><div><br><div class="gmail_quote"><div dir="ltr">On Mon, Jan 14, 2019 at 12:45 PM Alexey Kukanov via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">akukanov added a comment.<br>
<br>
As I understand, this patch adds forward declarations for all internal functions, similarly to "defs" files having declarations for all functions in `namespace std`. Perhaps the file names should be aligned with the existing files, e.g. `glue_algorithm_internal_defs.h` etc.<br>
<br>
Also the new files are not included anywhere. Will there be a separate patch that uses these files, or they are intended solely for integration into C++ libraries (or even solely libstdc++)? If the latter, perhaps a usage example could be documented somewhere - in the comments or maybe in a separate readme-like file.<br>
<br>
<br>
<br>
================<br>
Comment at: include/pstl/internal/parallel_backend_tbb_fwd.h:11<br>
+<br>
+#ifndef __PSTL_parallel_backend_tbb_fwd_H<br>
+#define __PSTL_parallel_backend_tbb_fwd_H<br>
----------------<br>
The backend API was supposed to be implementation independent. Maybe there should be no "tbb" in the file name?<br>
<br>
<br>
================<br>
Comment at: include/pstl/internal/parallel_backend_tbb_fwd.h:47-50<br>
+struct backend_impl_t<br>
+{<br>
+ static cancel_execution();<br>
+};<br>
----------------<br>
Currently, `cancel_execution()` is a standalone function in namespace `par_backend`. Is this mismatch intentional or accidental?<br>
<br>
<br>
Repository:<br>
rPSTL pstl<br>
<br>
CHANGES SINCE LAST ACTION<br>
<a href="https://reviews.llvm.org/D56676/new/" rel="noreferrer" target="_blank">https://reviews.llvm.org/D56676/new/</a><br>
<br>
<a href="https://reviews.llvm.org/D56676" rel="noreferrer" target="_blank">https://reviews.llvm.org/D56676</a><br>
<br>
<br>
<br>
</blockquote></div></div>