more build fixes & disable gcc 9 compat
RENAME
.github/workflows/codeql-analysis.yml
.github/workflows/codeql-analysis.yml.disabled
MODIFY
.travis.yml
.travis.yml
@@ -45,21 +45,6 @@ script:
matrix:
include:
- - env: CMAKE_CXX_COMPILER=g++-9 CMAKE_BUILD_TYPE=Debug
- os: linux
- dist: focal
- addons: &gcc9
- apt:
- sources: *default_sources
- packages:
- - *default_packages
- - g++-9
-
- - env: CMAKE_CXX_COMPILER=g++-9 CMAKE_BUILD_TYPE=Release
- os: linux
- dist: focal
- addons: *gcc9
-
- env: CMAKE_CXX_COMPILER=g++-10 CMAKE_BUILD_TYPE=Debug
os: linux
dist: focal

MODIFY
ir/instr.cpp
ir/instr.cpp
@@ -3434,19 +3434,19 @@ StateValue VaCopy::toSMT(State &s) const {
ensure_varargs_ptr(data, s, src_raw);
- DisjointExpr<expr> next_arg, num_args, va_start;
+ DisjointExpr<expr> next_arg, num_args, is_va_start;
for (auto &[ptr, entry] : data) {
expr select = entry.active && ptr == src_raw;
s.addUB(select.implies(entry.alive));
next_arg.add(entry.next_arg, select);
num_args.add(entry.num_args, select);
- va_start.add(entry.va_start, move(select));
+ is_va_start.add(entry.va_start, move(select));
}
// FIXME: dst should be empty or we have a mem leak
// alive, next_arg, num_args, va_start, active
- data[dst_raw] = { true, *next_arg(), *num_args(), *va_start(), true };
+ data[dst_raw] = { true, *next_arg(), *num_args(), *is_va_start(), true };
return {};
}

MODIFY
ir/state.cpp
ir/state.cpp
@@ -540,7 +540,7 @@ bool State::startBB(const BasicBlock &bb) {
expr p = data.domain.path();
UB.add_disj(data.domain.UB, p);
in_memory.add_disj(data.mem, p);
- var_args_in.add_disj(data.var_args, move(p));
+ var_args_in.add(data.var_args, move(p));
domain.undef_vars.insert(data.domain.undef_vars.begin(),
data.domain.undef_vars.end());
@@ -577,6 +577,7 @@ void State::addJump(const BasicBlock &dst0, expr &&cond) {
data.domain.undef_vars.insert(domain.undef_vars.begin(),
domain.undef_vars.end());
data.analysis = analysis;
+ data.var_args = var_args_data;
}
void State::addJump(const BasicBlock &dst) {

more build fixes & disable gcc 9 compat