[applied] ir: Support cloning data members of unions
Commit Message
Hello,
When cloning a data member, var_decl::clone wrongly assumes we are
looking at a data member of a class. It could also be a data member
of an union. Fixed thus.
This fixes crashes when self comparing Fedora 36 packages of the qt6
group with the command:
$ fedabipkgdiff --self-compare --from fc36 qt6-qtsensors
There are lot of other packages from the qt group that were making
this command fail, but I am not mentioning them here for the sake
conciseness.
* src/abg-ir.cc (var_decl::clone): Support cloning data members
for unions.
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
Applied to master.
---
src/abg-ir.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -19131,7 +19131,7 @@ var_decl::clone() const
if (is_member_decl(*this))
{
- class_decl* scope = dynamic_cast<class_decl*>(get_scope());
+ class_or_union* scope = is_class_or_union_type(get_scope());
scope->add_data_member(v, get_member_access_specifier(*this),
get_data_member_is_laid_out(*this),
get_member_is_static(*this),