Mark inactive Fortran calls - #3194
joewallwork wants to merge 2 commits into
Conversation
KnownInactiveFunctionsStartingWith already lists "f90io", classic flang's I/O runtime. LLVM flang names the same thing _FortranAio*, which was not covered, so differentiating any Fortran routine that prints -- DVODE's xerrwd, for instance -- failed with "No forward mode derivative found". Also add _FortranAClassIs and _FortranATrim, a type query and character handling; neither moves floating point data. _FortranAAssign is deliberately not included. It copies data which may include reals, so declaring it inactive would silently drop a derivative; it needs a rule that assigns the shadow too. On a whole-program Fortran module differentiating DVODE, with loose types, this takes the error count from 17 to 1, the remainder being that _FortranAAssign. check-enzyme and check-typeanalysis are unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Some Claude review:
|
Refinement of #3168
This PR marks a few Fortran-related things as inactive in the activity analysis.