+ /* nsections copies of the computation `separately' are run in parallel
+ * with different values of `section' from 0 to nsections-1.
+ * Each copy is passed the same gendata as passed to inparallel.
+ * Each copy gets its own data block (struct aligned) of size
+ * secdatasz, passed as secdata, uninitialised on entry.
+ * After all the copies have finished, `combine' is invoked
+ * nsections times sequentially, with the same sets of arguments.
+ * inparallel is NOT itself reentrant.
+ */
+
+void inparallel_barrier(void);