gate_clause Function

private pure function gate_clause(name) result(clause)

Render canonical_diag_gate_hint(name) into a human-readable sentence for the “requested but not registered” warning. Phrased as a QUESTION, never a diagnosis: the hint is a hand-maintained mirror of register_default_diags’s gates (§11.2 of the PR-64 plan) and can drift from the true cause. An empty hint means the diagnostic is one of the four unconditional ones (SSH/u/v/KE) and SHOULD have registered — that is a bug, not a closed gate.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

Return Value character(len=96)


Calls

proc~~gate_clause~~CallsGraph proc~gate_clause gate_clause proc~canonical_diag_gate_hint canonical_diag_gate_hint proc~gate_clause->proc~canonical_diag_gate_hint

Called by

proc~~gate_clause~~CalledByGraph proc~gate_clause gate_clause proc~apply_diag_selection apply_diag_selection proc~apply_diag_selection->proc~gate_clause proc~engine_configure_diag engine_configure_diag proc~engine_configure_diag->proc~apply_diag_selection proc~engine_setup engine_setup proc~engine_setup->proc~engine_configure_diag proc~complete_ocean_create complete_ocean_create proc~complete_ocean_create->proc~engine_setup proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_setup proc~driver_validate driver_validate proc~driver_validate->proc~engine_setup proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean proc~rdb_ocean_create_finalize rdb_ocean_create_finalize proc~rdb_ocean_create_finalize->proc~complete_ocean_create proc~rdb_ocean_create_from_string rdb_ocean_create_from_string proc~rdb_ocean_create_from_string->proc~complete_ocean_create

Variables

Type Visibility Attributes Name Initial
character(len=64), private :: hint

Source Code

   pure function gate_clause(name) result(clause)
      !! Render `canonical_diag_gate_hint(name)` into a human-readable
      !! sentence for the "requested but not registered" warning.  Phrased
      !! as a QUESTION, never a diagnosis: the hint is a hand-maintained
      !! mirror of `register_default_diags`'s gates (§11.2 of the PR-64
      !! plan) and can drift from the true cause.  An empty hint means the
      !! diagnostic is one of the four unconditional ones (SSH/u/v/KE) and
      !! SHOULD have registered — that is a bug, not a closed gate.
      character(len=*), intent(in) :: name
      character(len=96) :: clause
      character(len=64) :: hint

      hint = canonical_diag_gate_hint(name)
      if (len_trim(hint) > 0) then
         clause = "Is "//trim(hint)//" off?"
      else
         clause = "This diagnostic has no feature gate — please report this."
      end if
   end function gate_clause