Open
Description
goto-instrument -dfcc produces a large number of "no body for function XXXX" warnings which make no sense.
For example, in analysis of mldsa-native's poly_use_hint() function:
goto-instrument --dfcc harness --enforce-contract MLD_65_ref_poly_use_hint --replace-call-with-contract MLD_65_ref_use_hint --apply-loop-contracts gotos/poly_use_hint_harness0500.goto
The stderr output contains:
file /Users/rodchap/Desktop/rod/projects/crypto/pqcp/mldsa-native/mldsa/poly.h line 254 function MLD_65_ref_poly_use_hint: no body for function '__CPROVER_object_upto'
file /Users/rodchap/Desktop/rod/projects/crypto/pqcp/mldsa-native/mldsa/poly.c line 214 function MLD_65_ref_poly_use_hint: no body for function 'MLD_65_ref_use_hint'
no body for function '__CPROVER_assignable'
I have no idea why it's complaining about CPROVER_object_upto and CPROVER_assignable not having bodies, since these are only appearing in contracts.
The function MLD_65_ref_use_hint() has no body since we have explicitly told goto-instrument to replace calls to it with its contracts, so this warning is entirely spurious as far as I can see.
Can these be removed please. This would significantly ease interactive use and review of CI logs.