[llvm] [clang] [llvm][DebugInfo] DWARFv5: static data members declarations are DW_TAG_variable (PR #72234)

Michael Buch via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 15 10:59:27 PST 2023


Michael137 wrote:

> we're seeing debug info verifier issues in Rust with this change, e.g.
> 
> ```
> 
>  invalid tag
> 
>  !50 = !DIDerivedType(tag: DW_TAG_imported_declaration, name: "DISCR_EXACT", scope: !37, file: !2, baseType: !51, flags: DIFlagStaticMember, extraData: i64 0)
> 
>  invalid tag
> 
>  !61 = !DIDerivedType(tag: DW_TAG_imported_declaration, name: "DISCR_EXACT", scope: !54, file: !2, baseType: !51, flags: DIFlagStaticMember, extraData: i64 1)
> 
>  invalid tag
> 
>  !86 = !DIDerivedType(tag: DW_TAG_shared_type, name: "DISCR_EXACT", scope: !79, file: !2, baseType: !87, flags: DIFlagStaticMember, extraData: i64 0)
> 
>  invalid tag
> 
>  !97 = !DIDerivedType(tag: DW_TAG_shared_type, name: "DISCR_EXACT", scope: !90, file: !2, baseType: !87, flags: DIFlagStaticMember, extraData: i64 1)
> 
> ```
> 
> 
> 
> is this expected?
> 
> 
> 
> (https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket/8764364541415601649/+/u/package_rust/stdout?format=raw)
> 
> 

Hmmm yea that's problematic. Feel free to revert since I'm currently not at my PC. It looks like the Tag parameter wouldve been better off strongly typed since I suspect there are some callers that I missed that now pass alignment to where now the tag is.

https://github.com/llvm/llvm-project/pull/72234


More information about the cfe-commits mailing list