Skip to content

Latest commit

 

History

History
122 lines (106 loc) · 7.68 KB

File metadata and controls

122 lines (106 loc) · 7.68 KB
title Diagnostic Codes
audience users, developers
prerequisites error handling
related index.md, ../troubleshooting/index.md
status maintained
publication draft

Diagnostic Codes

Diagnostic codes are stable category identifiers for users, tests, and tooling. They are not source line numbers, occurrence counters, or process exit statuses.

Categories use explicit symbolic names such as PARSE_INVALID_SYNTAX and C_UNRESOLVED_INCLUDE. The name describes the failure class directly.

Fatal Parser Errors

Fatal parser errors stop parsing and are rendered by the CLI without a Python traceback unless --debug is used.

Code Frontend Meaning
PARSE_ERROR Fortran Fallback for a manually constructed or defensive Fortran parse error without a narrower category.
PARSE_INVALID_SYNTAX Fortran Syntax cannot be consumed in a modeled Fortran grammar region.
PARSE_WRONG_ENTRYPOINT Fortran A singular public parser API was called for a different source-unit kind.
PARSE_AMBIGUOUS_ENTRYPOINT Fortran A singular public parser API matched more than one source unit.
PARSE_EXPECTED_UNIT Fortran An internal unit visitor received the wrong source-unit kind.
PARSE_MISSING_UNIT_END Fortran A source unit has no closing statement.
PARSE_MISMATCHED_UNIT_END Fortran A named source-unit closing statement does not match its opener.
PARSE_UNEXPECTED_UNIT_END Fortran A closing statement appears while another nested unit is active.
PARSE_DUPLICATE_UNIT Fortran A scope contains duplicate named source units of the same kind.
PARSE_DUPLICATE_PROCEDURE Fortran A scope contains duplicate procedure names.
PARSE_MALFORMED_HEADER Fortran A module or procedure header is unsupported or malformed.
PARSE_UNSUPPORTED_RESULT_TYPE Fortran A function header contains an unsupported result-type prefix.
PARSE_DUPLICATE_DECLARATION Fortran A procedure symbol is declared more than once.
PARSE_UNKNOWN_PARAMETER_TYPE Fortran A PARAMETER symbol has no declared type where one is required.
PARSE_DUPLICATE_PARAMETER Fortran A procedure contains duplicate PARAMETER declarations.
PARSE_DUPLICATE_SYMBOL Fortran A file or project scope contains a duplicate symbol.
PARSE_UNSUPPORTED_OPENMP_DIRECTIVE Fortran A modeled specification region contains an unsupported OpenMP directive.
PARSE_MISSING_DERIVED_TYPE_END Fortran A derived-type declaration has no matching closing statement.
PARSE_EXECUTABLE_IN_SPECIFICATION Fortran An executable statement appears in a non-executable specification region.
PARSE_UNSUPPORTED_DECLARATION Fortran A declaration-shaped line uses an unsupported datatype form.
PARSE_UNSUPPORTED_TYPE_BOUND_DECLARATION Fortran A derived-type contains region has an unsupported binding declaration.
PARSE_UNRESOLVED_ARGUMENT_TYPE Fortran A defensive invariant could not apply a declared argument type.
PARSE_UNKNOWN_FUNCTION_RESULT_TYPE Fortran A function result has no resolvable datatype.
PARSE_IMPLICIT_NONE_UNDECLARED_SYMBOL Fortran implicit none requires a missing argument or result declaration.
PARSE_MISSING_FUNCTION_RESULT Fortran A defensive invariant found a function without a result variable.
PARSE_RESULT_SHADOWS_ARGUMENT Fortran A function result name shadows an argument.
PARSE_DUPLICATE_VARIABLE Fortran A module-like scope contains conflicting duplicate variable declarations.
PARSE_UNKNOWN_VARIABLE_TYPE Fortran A module variable still has an unknown datatype after parsing.
PARSE_DUPLICATE_FIELD Fortran A derived type contains duplicate fields.
PARSE_UNKNOWN_FIELD_TYPE Fortran A derived-type field still has an unknown datatype after parsing.
PARSE_DUPLICATE_ARGUMENT Fortran A procedure argument list repeats a name.
PARSE_PREPROCESSING_REQUIRED Fortran Raw CPP directives require compiler preprocessing before parser entry.
PARSE_INTERNAL_STATE Fortran A defensive internal parser invariant was violated.

Preprocessing Diagnostics

Compiler-backed preprocessing failures are rendered by the CLI without a Python traceback unless --debug is used. They occur before the parser consumes the expanded source.

Code Meaning
PREPROCESSOR_NOT_FOUND The configured compiler/preprocessor executable could not be started.
PREPROCESSOR_FAILED The compiler/preprocessor returned a non-zero status, timed out, or could not be executed. Compiler stderr is preserved.
INVALID_COMPILER_ARGUMENTS The preprocessing configuration is invalid, such as a malformed macro name or unusable compile database entry.
UNSUPPORTED_COMPILER_CAPABILITY The selected adapter was asked for metadata it cannot provide.
PROVENANCE_UNAVAILABLE Expanded source was produced, but the adapter cannot provide accurate source mappings.
INCLUDE_NOT_FOUND A native Fortran include "..." target could not be resolved or read.
INCLUDE_CYCLE Recursive native Fortran INCLUDE expansion found a cycle.

Wrapper Planning Errors

Wrapper planning errors are emitted by the default wrapper build after semantic policy completion. The owner path identifies the declaration whose completed policy has no supported lowering.

Reasons identify a missing completed policy or an unsupported completed-policy combination. These are build-stage diagnostics rather than a separate inspection report; see Error Handling for the repair workflow.