We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Running this code
struct c { virtual int d(); virtual int d(int); };
results in:
esbmc: esbmc/src/clang-cpp-frontend/clang_cpp_convert_vft.cpp:585: void clang_cpp_convertert::add_vtable_variable_symbols(const clang::CXXRecordDecl&, const struct_typet&, const switch_table&): Assertion `value.type() == compo.type()' failed.
The reason pretty much is that the current code does not handle overloads. method_name is just d in both cases.
method_name
d
esbmc/src/clang-cpp-frontend/clang_cpp_convert_vft.cpp
Line 108 in fb01095
Line 110 in fb01095
The end result is that there is only one entry for d in the switch_map here and so we are guaranteed to find a wrong type:
switch_map
Line 582 in fb01095
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Running this code
results in:
The reason pretty much is that the current code does not handle overloads.
method_name
is justd
in both cases.esbmc/src/clang-cpp-frontend/clang_cpp_convert_vft.cpp
Line 108 in fb01095
esbmc/src/clang-cpp-frontend/clang_cpp_convert_vft.cpp
Line 110 in fb01095
(I don't know which of the two lines is the exact culprit but it doesn't really matter)
The end result is that there is only one entry for
d
in theswitch_map
here and so we are guaranteed to find a wrong type:esbmc/src/clang-cpp-frontend/clang_cpp_convert_vft.cpp
Line 582 in fb01095
The text was updated successfully, but these errors were encountered: