Skip to content

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

Open
@rod-chapman

Description

@rod-chapman

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Code ContractsFunction and loop contractsawsBugs or features of importance to AWS CBMC users

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions