-
Notifications
You must be signed in to change notification settings - Fork 273
Documentation wording for replace function bodies #2368
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
Conversation
Previous use of the word "implementation" is misleading, as "implementation" is synonymous with "function body". Here "implementation" is intended to refer to the derived class used. The previous wording could be interpreted as "replace the function body with one based on the function body, i.e., a summary of the function body code. This will work the same regardless of whether or not the function already has a body". Documentation rewording: generate_function_body This function cannot behave the same whether or not the function passed to it has a function body. The implementation of "generate_function_body" contains a PRECONDITION that the function body is not available.
The travis errors on this PR seem to be unrelated to anything I have changed. "apt-get install failed"? |
Just bad luck re: Travis network connectivity. Press the Restart Job button at the top-right of the relevant build page (e.g. https://travis-ci.org/diffblue/cbmc/jobs/394436579) |
I think the "restart build" button only exists if you have write access to the repo, i.e., not for me (https://stackoverflow.com/questions/17606874/trigger-a-travis-ci-rebuild-without-pushing-a-commit). Could you push it for me please? |
ok |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Passed Diffblue compatibility checks (cbmc commit: ca1b03c).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/76791000
8a7893c Merge pull request diffblue#2375 from diffblue/unit-dependencies 9258284 fix build depenencies of unit test binary f7cd161 Merge pull request diffblue#2371 from diffblue/fix-tests2 82753bc make test independent of index type f5f32da Merge pull request diffblue#2364 from smowton/smowton/fix/autodetect-default-cxx-dialect d437f60 Merge pull request diffblue#2368 from polgreen/doc_replace_func_bodies 6048517 Merge pull request diffblue#2353 from tautschnig/g++8-fixes2 e2e6d82 Merge pull request diffblue#2190 from tautschnig/more-stats 7210136 Make it clearer that <=> will always be stringified 560f82b Travis: test more g++ and clang versions d46a55c Add new goto-instrument option print-global-state-size 961b29a Silence GCC 8's warning about using realloc/memmove on non-POD ca1b03c Documentation wording for replace function bodies d8c5a98 Cleanup options handling of count-eloc, list-eloc, print-path-lengths 6cd6d31 Unit test framwork: use references when catching exceptions 6882da6 Merge pull request diffblue#2367 from diffblue/fix-tests bcc3bef make regression/cbmc/bounds_check1 independent of types used 4de4538 switch regression/cbmc/Typecast2 to preprocessed code 91a9c64 Amend two tests that explicitly target C++98 2b2b797 goto-gcc: select default language standard depending on emulated compiler 52a8afc Merge pull request diffblue#1898 from tautschnig/always-inline cbe691b Merge pull request diffblue#2363 from diffblue/Makefile-TAR 9d40a9e Merge pull request diffblue#2365 from diffblue/solaris_errno 9efd705 add model for ___errno for Solaris 11 eaa2e05 update Solaris instructions 2f142d5 allow customizing the tar command for solver download 8cc1848 Merge pull request diffblue#1860 from tautschnig/restore-irept-sharing fea5db0 Merge pull request diffblue#2361 from diffblue/fix-goto2 7c0d750 Merge pull request diffblue#2362 from smowton/smowton/fix/tolerate-cxx-namespace-attribute e440a25 introduce INCOMPLETE_GOTO and turn guarded goto into a stateless pass 1f1835b C++ frontend: tolerate namespace attributes cbce4bc Unit test of irept's public API abdb044 Unit test to check that irept implements sharing d58fd18 Silence the linter on assert in irep.h 3d64070 Partially revert "Use small intrusive pointer in irep" 688a0ab Macros are not needed outside translation units 9c93f59 Fully interpret __attribute__((always_inline)) d1f617b Apply symbol replacement in type_arg members git-subtree-dir: cbmc git-subtree-split: 8a7893c
I am closing the PR's I had related to havoc-ing function bodies, as they are superseded by the generate_function_bodies stuff. But I have some minor fixes to the documentation for that class:
Use of the word "implementation" is confusing, as "implementation" usually means "function body". Here "implementation" is intended to refer to the derived class used by generate_function_bodies.
The previous wording could be interpreted as "replace the function body with one based on the function body, i.e., a summary of the function body code", which isn't what was intended.
Actually there is a PRECONDITION that the function body is not available, so it won't work the same whether or not the function already has a body.