Skip to content

goto-cc fails to load any goto library created from c++ files #1490

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

Closed
andreast271 opened this issue Oct 16, 2017 · 1 comment
Closed

goto-cc fails to load any goto library created from c++ files #1490

andreast271 opened this issue Oct 16, 2017 · 1 comment

Comments

@andreast271
Copy link
Contributor

To reproduce the problem, do:

> echo "int main () { return 0; }" > x.cpp
> goto-cc -c -o x.goto x.cpp
> goto-cc/goto-cc x.goto

Error message:

--- begin invariant violation report ---
Invariant check failed
File link_goto_model.cpp function link_functions line 121
Reason: must have symbol

The problem was introduce a long time ago, by the following commit:

commit 7038c0a56b19550cb0b779eedbf4c1653d08a7fa
Author: Michael Tautschnig <[email protected]>
Date:   Fri Apr 1 00:19:09 2016 +0000

    Macros need to be applied across all functions after linking

@gnakibli
Copy link

I have encountered the same issue on Windows. I understand that goto-cc (or in my case goto-cl) can not be used with c++ source files? Is there a work-around?

tautschnig added a commit to tautschnig/cbmc that referenced this issue Jan 31, 2019
tautschnig added a commit to tautschnig/cbmc that referenced this issue Apr 19, 2019
tautschnig added a commit to tautschnig/cbmc that referenced this issue Apr 22, 2019
This mirrors what the C front-end already does, but requires changes to
constant propagation in the C++ front-end: we previously used macros,
which serve a very different purpose otherwise.

Fixes: diffblue#1490
tautschnig added a commit to tautschnig/cbmc that referenced this issue Apr 22, 2019
This mirrors what the C front-end already does, but requires changes to
constant propagation in the C++ front-end: we previously used macros,
which serve a very different purpose otherwise.

Fixes: diffblue#1490
tautschnig added a commit to tautschnig/cbmc that referenced this issue Apr 23, 2019
This mirrors what the C front-end already does, but requires changes to
constant propagation in the C++ front-end: we previously used macros,
which serve a very different purpose otherwise.

Fixes: diffblue#1490
tautschnig added a commit to tautschnig/cbmc that referenced this issue May 15, 2019
This mirrors what the C front-end already does, but requires changes to
constant propagation in the C++ front-end: we previously used macros,
which serve a very different purpose otherwise.

Fixes: diffblue#1490
tautschnig added a commit to tautschnig/cbmc that referenced this issue May 17, 2019
This mirrors what the C front-end already does, but requires changes to
constant propagation in the C++ front-end: we previously used macros,
which serve a very different purpose otherwise.

Fixes: diffblue#1490
tautschnig added a commit to tautschnig/cbmc that referenced this issue May 17, 2019
This mirrors what the C front-end already does, but requires changes to
constant propagation in the C++ front-end: we previously used macros,
which serve a very different purpose otherwise.

Fixes: diffblue#1490
tautschnig added a commit to tautschnig/cbmc that referenced this issue May 19, 2019
This mirrors what the C front-end already does, but requires changes to
constant propagation in the C++ front-end: we previously used macros,
which serve a very different purpose otherwise.

Fixes: diffblue#1490
tautschnig added a commit to tautschnig/cbmc that referenced this issue Dec 27, 2020
This mirrors what the C front-end already does, but requires changes to
constant propagation in the C++ front-end: we previously used macros,
which serve a very different purpose otherwise.

Fixes: diffblue#1490
tautschnig added a commit to tautschnig/cbmc that referenced this issue Dec 27, 2020
This mirrors what the C front-end already does, but requires changes to
constant propagation in the C++ front-end: we previously used macros,
which serve a very different purpose otherwise.

Fixes: diffblue#1490
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants