Skip to content

[lldb] Detection of this arguments incomplete #120856

@SingleAccretion

Description

@SingleAccretion

I've encountered what seems like a bug in this code:

if (encoding_mask & Type::eEncodingIsPointerUID) {
is_static = false;
if (encoding_mask & (1u << Type::eEncodingIsConstUID))
type_quals |= clang::Qualifiers::Const;
if (encoding_mask & (1u << Type::eEncodingIsVolatileUID))
type_quals |= clang::Qualifiers::Volatile;
}

In my case, the entry for "this" looked like this:

0x000001a4:       DW_TAG_formal_parameter
                    DW_AT_artificial	(0x01)
                    DW_AT_type	(0x000001e0 "WebAssemblyPtrWrapper<DerivedType>")

...

0x000001e0:   DW_TAG_structure_type
                DW_AT_name	("WebAssemblyPtrWrapper<DerivedType>")
                DW_AT_byte_size	(0x04)

And was still picked up, despite the seeming intention of filtering out non-pointer arguments.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions