DMPlex: Check whether default section exists to be reordered
doc: remove UTF-8 '–' from sources as this breaks generation of html for sourcefiles
gcov: fix script to use /tmp/gcov-USER as tmpdir for make_htmlpage() aswell.
MatCoarsen: trivial int -> PetscMPIInt
Merge branch 'madams/gamg-parmtests'

PCGAMG default smoother changed from Jacobi to SOR.  This affects
convergence for users of PCGAMG that have not explictly set smoothers.
The old smoother can be obtained using -mg_levels_pc_type jacobi.

* madams/gamg-parmtests:
  changes/dev.html: document PCGAMG change from PCJACOBI to PCSOR
  gamg tests: made file names more consistant; removed excess parameters to make test sort of orthogal with other test in that there are not parameters or combinations of parameters that are tested in another test; added a hypre test with two degrees of freedom; reduced sizes of tests to run faster; made a cheby/jacobi test.
  changed default smoother in GAMG to SOR.  Allowed reuse of iegen estimates for SOR smoother because it is safe and I don't think the difference is worth recommunting eigen estimates.
removed idx and Nl from DM_DA object since the dm->ltogmap has the same information

this eliminates one memory usage of size dof * number of local grid points in DMSetUp_DA
Needed to add DMDARestoreGlobalIndices() to properly allow access to dm->logmap with DMDAGetGlobalIndices().
Though users could use DMGetGlobalToLocalMapping() followed by ISLocalGetGlobalMappingGetIndices() I have retained
DMDAGetGlobalIndices() to the code refactorization is less dramatic; the code could be changed later to eliminate
DMDAGetGlobalIndices()
optimize ISLocalToGlobalMappingCreateIS() to reuse indices created in call to ISGetIndices()
for the case where they are immediately freed anyways no need to copy
when running examples do not print warning message about .c files holding C++ code as deprecated like
clang likes to print; makes alltests log much clearer
for some reason FORTRAN stub for petscbagregisterboolarray_() did not have PETSC_EXTERN

in front of it hence would generate wrong symbol with C++ compiler
DMPlex: Fixed bug with DMPlexPermute
- Fixed label permutation
Merge branch 'stefano_zampini/pcbddc-baijfixes'

* stefano_zampini/pcbddc-baijfixes:
  PCBDDC: updated example using local to global mapping generated by DMDA
  PCBDDC: solved a bug when multiple constraints are present and some are eliminated by SVD
  PCBDDC: index set for R nodes now stores block size information
  PCBDDC: updated todo list
  PCBDDC: updated bddc example with sbaij matrix type
  PCBDDC: updated man pages
  PCBDDC: bddc now works with sbaij matrices.
  PCBDDC: added field in bddc data struct to determine if fields splitting has been provided by the user
  PCIS: add support for sbaij matrices
  PCBDDC: updated example using local to global mapping generated by DMDA
  PCBDDC: solved a bug when multiple constraints are present and some are eliminated by SVD
  PCBDDC: index set for R nodes now stores block size information
  PCBDDC: updated todo list
  PCBDDC: updated bddc example with sbaij matrix type
  PCBDDC: updated man pages
  PCBDDC: bddc now works with sbaij matrices.
  PCBDDC: added field in bddc data struct to determine if fields splitting has been provided by the user
  PCIS: add support for sbaij matrices
removed use of DMDAGetGlobalIndices() for the DMDA computation of Jacobians
Replaced with call to DMGetLocalToGlobalMqppingBlock() and ISGetIndices() so these routines
no longer need the full set of indices only the block version.

This in itself does not save memory but eventually will allow use to remove the storage of all the indices for dof > 1 with only the
storage of indices for the blocks
gcov: use all-legacy build as the scripts currently rely on *.gcda etc files to
reside in the same location as .c files. However gcov appears to create
them in the location of .o files [and they don't match for gmake/cmake builds]
PetscStack: declare types regardless of debug vs. optimized

There is no performance advantage to avoiding defining the PetscStack
type and it is simpler to have them defined when switching between debug
and optimized versions of PETSc.
PetscStack: use same definitions for PetscStack functions

If the user compiles their code with debugging, perhaps calling
PetscStack functions, it would be useful for the implementations to make
a best-effort at displaying the stack usefully when they subsequently
LD_PRELOAD an optimized version of the library.  These functions are
tiny so code size is not an excuse for keeping the complexity of
different versions.
Sys: add PetscFunctionBeginHot to switch to cheaper pointer checks

Some logging and debugging operations are expensive.  In particular,
applications can see order of magnitude slowdowns when PetscCheckPointer
configures a special signal handler (debug builds only).  Additionally,
high-frequency events like MAT_SetValues are disabled by default because
it can be expensive to profile.

My marking "hot" regions, we can turn off the expensive operations by
default, but still have the ability to enable them at run-time.  This
commit adds PetscFunctionBeginHot, with logic in PetscCheckPointer to
skip the check while inside a "hot" function.

Reported-by: Dave May <dave.mayhem23@gmail.com>
Sys: add PetscCheckPointerSetIntensity -check_pointer_intensity

Offers run-time control over pointer checking.  Intensity levels are

  0. Never use a signal handler to check pointers
  1. Use a signal handler to check pointers when not in "hot" functions
  2. Always use signal handler to check pointers
Merge branch 'jed/check-pointer-runtime' into next

* jed/check-pointer-runtime:
  Sys: add PetscCheckPointerSetIntensity -check_pointer_intensity
  Sys: add PetscFunctionBeginHot to switch to cheaper pointer checks
  PetscStack: use same definitions for PetscStack functions
  PetscStack: declare types regardless of debug vs. optimized
Make the Broyden update work correctly.
Better refs for QN methods