Skip to content

goto-instrument -dfcc spurious "no body" warnings #8639

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
rod-chapman opened this issue May 15, 2025 · 0 comments
Open

goto-instrument -dfcc spurious "no body" warnings #8639

rod-chapman opened this issue May 15, 2025 · 0 comments
Labels
aws Bugs or features of importance to AWS CBMC users Code Contracts Function and loop contracts

Comments

@rod-chapman
Copy link
Collaborator

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.

@rod-chapman rod-chapman added aws Bugs or features of importance to AWS CBMC users Code Contracts Function and loop contracts labels May 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aws Bugs or features of importance to AWS CBMC users Code Contracts Function and loop contracts
Projects
None yet
Development

No branches or pull requests

1 participant