Hello! Attached patch fixes following libgomp.texi warnings:
libgomp.texi:169: warning: multiple @menu libgomp.texi:184: warning: multiple @menu libgomp.texi:914: warning: node `omp_init_lock' is next for `omp_set_schedule' in sectioning but not in menu libgomp.texi:947: warning: node `omp_set_schedule' is prev for `omp_init_lock' in sectioning but not in menu libgomp.texi:1206: warning: node `omp_get_wtick' is next for `omp_destroy_nest_lock' in sectioning but not in menu libgomp.texi:1233: warning: node `omp_destroy_nest_lock' is prev for `omp_get_wtick' in sectioning but not in menu libgomp.texi:1431: warning: node next `OMP_NUM_THREADS' in menu `OMP_PROC_BIND' and in sectioning `OMP_PLACES' differ libgomp.texi:1451: warning: node next `OMP_PLACES' in menu `OMP_STACKSIZE' and in sectioning `OMP_PROC_BIND' differ libgomp.texi:1451: warning: node prev `OMP_PLACES' in menu `OMP_PROC_BIND' and in sectioning `OMP_NUM_THREADS' differ libgomp.texi:1493: warning: node next `OMP_PROC_BIND' in menu `OMP_PLACES' and in sectioning `OMP_SCHEDULE' differ libgomp.texi:1493: warning: node prev `OMP_PROC_BIND' in menu `OMP_NUM_THREADS' and in sectioning `OMP_PLACES' differ libgomp.texi:1520: warning: node next `OMP_SCHEDULE' in menu `OMP_THREAD_LIMIT' and in sectioning `OMP_STACKSIZE' differ libgomp.texi:1520: warning: node prev `OMP_SCHEDULE' in menu `OMP_STACKSIZE' and in sectioning `OMP_PROC_BIND' differ libgomp.texi:1541: warning: node next `OMP_STACKSIZE' in menu `OMP_SCHEDULE' and in sectioning `OMP_THREAD_LIMIT' differ libgomp.texi:1541: warning: node prev `OMP_STACKSIZE' in menu `OMP_PLACES' and in sectioning `OMP_SCHEDULE' differ libgomp.texi:1561: warning: node prev `OMP_THREAD_LIMIT' in menu `OMP_SCHEDULE' and in sectioning `OMP_STACKSIZE' differ these are seen when compiling libgomp on Fedora20. The menu in "Runtime Library Routines" now looks this way: --cut here-- 2 Runtime Library Routines ************************** The runtime routines described here are defined by Section 3 of the OpenMP specification in version 4.0. The routines are structured in following three parts: * Menu: Control threads, processors and the parallel environment. They have C linkage, and do not throw exceptions. * omp_get_active_level:: Number of active parallel regions * omp_get_ancestor_thread_num:: Ancestor thread ID * omp_get_cancellation:: Whether cancellation support is enabled ... * omp_set_nested:: Enable/disable nested parallel regions * omp_set_num_threads:: Set upper team size limit * omp_set_schedule:: Set the runtime scheduling method Initialize, set, test, unset and destroy simple and nested locks. * omp_init_lock:: Initialize simple lock * omp_set_lock:: Wait for and set simple lock ... * omp_unset_nest_lock:: Unset nested lock * omp_destroy_nest_lock:: Destroy nested lock Portable, thread-based, wall clock timer. * omp_get_wtick:: Get timer precision. * omp_get_wtime:: Elapsed wall clock time. --cut here-- i.e., without extra "* Menu" entries, what was probably ment from the beginning. 2014-05-17 Uros Bizjak <ubiz...@gmail.com> * libgomp.texi (Runitme Library Routines): Remove multiple @menu. (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node texts according to their @menu entry positions. Tested with x86_64-pc-linux-gnu bootstrap. OK for mainline and 4.9? Uros.
Index: libgomp.texi =================================================================== --- libgomp.texi (revision 210549) +++ libgomp.texi (working copy) @@ -130,10 +130,10 @@ specification in version 4.0. The routines are structured in following three parts: +@menu Control threads, processors and the parallel environment. They have C linkage, and do not throw exceptions. -@menu * omp_get_active_level:: Number of active parallel regions * omp_get_ancestor_thread_num:: Ancestor thread ID * omp_get_cancellation:: Whether cancellation support is enabled @@ -162,11 +162,9 @@ * omp_set_nested:: Enable/disable nested parallel regions * omp_set_num_threads:: Set upper team size limit * omp_set_schedule:: Set the runtime scheduling method -@end menu Initialize, set, test, unset and destroy simple and nested locks. -@menu * omp_init_lock:: Initialize simple lock * omp_set_lock:: Wait for and set simple lock * omp_test_lock:: Test and set simple lock if available @@ -177,11 +175,9 @@ * omp_test_nest_lock:: Test and set nested lock if available * omp_unset_nest_lock:: Unset nested lock * omp_destroy_nest_lock:: Destroy nested lock -@end menu Portable, thread-based, wall clock timer. -@menu * omp_get_wtick:: Get timer precision. * omp_get_wtime:: Elapsed wall clock time. @end menu @@ -1448,6 +1444,33 @@ +@node OMP_PROC_BIND +@section @env{OMP_PROC_BIND} -- Whether theads may be moved between CPUs +@cindex Environment Variable +@table @asis +@item @emph{Description}: +Specifies whether threads may be moved between processors. If set to +@code{TRUE}, OpenMP theads should not be moved; if set to @code{FALSE} +they may be moved. Alternatively, a comma separated list with the +values @code{MASTER}, @code{CLOSE} and @code{SPREAD} can be used to specify +the thread affinity policy for the corresponding nesting level. With +@code{MASTER} the worker threads are in the same place partition as the +master thread. With @code{CLOSE} those are kept close to the master thread +in contiguous place partitions. And with @code{SPREAD} a sparse distribution +across the place partitions is used. + +When undefined, @env{OMP_PROC_BIND} defaults to @code{TRUE} when +@env{OMP_PLACES} or @env{GOMP_CPU_AFFINITY} is set and @code{FALSE} otherwise. + +@item @emph{See also}: +@ref{OMP_PLACES}, @ref{GOMP_CPU_AFFINITY}, @ref{omp_get_proc_bind} + +@item @emph{Reference}: +@uref{http://www.openmp.org/, OpenMP specification v4.0}, Section 4.4 +@end table + + + @node OMP_PLACES @section @env{OMP_PLACES} -- Specifies on which CPUs the theads should be placed @cindex Environment Variable @@ -1490,29 +1513,22 @@ -@node OMP_PROC_BIND -@section @env{OMP_PROC_BIND} -- Whether theads may be moved between CPUs +@node OMP_STACKSIZE +@section @env{OMP_STACKSIZE} -- Set default thread stack size @cindex Environment Variable @table @asis @item @emph{Description}: -Specifies whether threads may be moved between processors. If set to -@code{TRUE}, OpenMP theads should not be moved; if set to @code{FALSE} -they may be moved. Alternatively, a comma separated list with the -values @code{MASTER}, @code{CLOSE} and @code{SPREAD} can be used to specify -the thread affinity policy for the corresponding nesting level. With -@code{MASTER} the worker threads are in the same place partition as the -master thread. With @code{CLOSE} those are kept close to the master thread -in contiguous place partitions. And with @code{SPREAD} a sparse distribution -across the place partitions is used. +Set the default thread stack size in kilobytes, unless the number +is suffixed by @code{B}, @code{K}, @code{M} or @code{G}, in which +case the size is, respectively, in bytes, kilobytes, megabytes +or gigabytes. This is different from @code{pthread_attr_setstacksize} +which gets the number of bytes as an argument. If the stack size cannot +be set due to system constraints, an error is reported and the initial +stack size is left unchanged. If undefined, the stack size is system +dependent. -When undefined, @env{OMP_PROC_BIND} defaults to @code{TRUE} when -@env{OMP_PLACES} or @env{GOMP_CPU_AFFINITY} is set and @code{FALSE} otherwise. - -@item @emph{See also}: -@ref{OMP_PLACES}, @ref{GOMP_CPU_AFFINITY}, @ref{omp_get_proc_bind} - -@item @emph{Reference}: -@uref{http://www.openmp.org/, OpenMP specification v4.0}, Section 4.4 +@item @emph{Reference}: +@uref{http://www.openmp.org/, OpenMP specification v4.0}, Section 4.7 @end table @@ -1538,26 +1554,6 @@ -@node OMP_STACKSIZE -@section @env{OMP_STACKSIZE} -- Set default thread stack size -@cindex Environment Variable -@table @asis -@item @emph{Description}: -Set the default thread stack size in kilobytes, unless the number -is suffixed by @code{B}, @code{K}, @code{M} or @code{G}, in which -case the size is, respectively, in bytes, kilobytes, megabytes -or gigabytes. This is different from @code{pthread_attr_setstacksize} -which gets the number of bytes as an argument. If the stack size cannot -be set due to system constraints, an error is reported and the initial -stack size is left unchanged. If undefined, the stack size is system -dependent. - -@item @emph{Reference}: -@uref{http://www.openmp.org/, OpenMP specification v4.0}, Section 4.7 -@end table - - - @node OMP_THREAD_LIMIT @section @env{OMP_THREAD_LIMIT} -- Set the maximum number of threads @cindex Environment Variable