Strict-Prototypes Compliance (Windows gcc-ASAN): Updated C function declarations in src/cts_init.c to use strict standard prototypes by replacing empty parameter lists () with (void) for all Fortran routine declarations (complete, cspec, display, forecast, kfilsm, loop, setcom, setfor, setkfilsm, setup, setupdate, update). This resolves -Wstrict-prototypes warnings.
Symbol Registration and Dynamic Lookup: Properly configured R_registerRoutines() in R_init_cts() with R_useDynamicSymbols(dll, TRUE) to enable standard dynamic symbol resolution. This allows .Fortran() calls to correctly resolve registered native routine symbols across all platforms including macOS ARM64.
R API Compliance: Used proper dummy array variables (DDUM and IDUM) in Fortran code when calling R printing routines (dblepr, intpr) to comply with Intel Fortran Compiler checking and ensure correct parameter passing for array-expecting functions in complete.f.
M1 Mac (macOS ARM64) & Clang Compliance: Added R API headers (<R.h>, <Rinternals.h>, <R_ext/Visibility.h>) to src/cts_init.c to ensure proper symbol visibility and eliminate implicit function declaration warnings on strict compilers (like clang 15+).
CSTAK Common Block Type Mismatches (GCC 15+ with LTO): Link-time optimization in GCC 15+ reports type mismatches in the shared memory stack (CSTAK/DSTAK) used across multiple compiled units. These are compatibility warnings from legacy Fortran code patterns and do not affect runtime functionality. Consider using -fno-strict-aliasing flag if LTO compilation issues occur.
Unused Variables and Labels in Fortran source files (a9rntc.f, a9rnti.f, etc.): Legacy Fortran code contains unused dummy arguments and labels. These warnings are informational and can be suppressed with compiler flags if needed.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.