Open
Description
context: f0a72b3#r44268019
I tried various things
- use boost::hana anonymous/lambda functions
- use c++14 lambda functions
The generated bitcode seems correct but is not correctly processed by our pipeline. Some issues I see are
- Some hana idioms generate a lot of code e.g. while_, but some don't e.g. times_with_index
- in some cases the generated functions in bitcode don't follow C naming and hence are not found by BMC engine
- even if they are found, they have some trouble accessing values in the creation context. Specifically
[&](auto i) {
if (str[i] == '\0' and !found) {
sassert(0); \\ never fires
length = i
found = true
}
}
Figuring why 3 was happening seemed out of scope to me so I went with a basic solution that did not rely on these features.
from @agurfinkel
ok. something to revisit during the break. Remind me. I can dig into bitcode to look what is going on.
SeaHorn works on C++ code. The C naming convention should not be related.
Metadata
Metadata
Assignees
Labels
No labels