dfaust added a comment. > Type tag for CVR modifier type > > C: > > volatile int __attribute__((btf_type_tag("__b"))) b; > > DWARF: > > 0x31: DW_TAG_variable > DW_AT_name ("b") > DW_AT_type (0x3c "volatile int") > > 0x3c: DW_TAG_volatile_type > DW_AT_type (0x45 "int") > > 0x41: DW_TAG_LLVM_annotation > DW_AT_name ("btf:type_tag") > DW_AT_const_value ("__b")
I am not sure about this case. Do we want the tag on the CVR qualifier or on the type being qualified? Current patches for GCC place the annotation DIE as child of the 'int': 0x0000001e: DW_TAG_variable DW_AT_name ("b") DW_AT_type (0x00000047 "volatile int") 0x00000032: DW_TAG_base_type DW_AT_byte_size (0x04) DW_AT_name ("int") 0x0000003d: DW_TAG_LLVM_annotation DW_AT_name ("btf:type_tag") DW_AT_const_value ("__b") 0x00000047: DW_TAG_volatile_type DW_AT_type (0x00000032 "int") The way I see it both 'volatile' and the type tag are modifying 'int' type here, so the annotation DIE more properly fits as a child of 'int' rather than the 'volatile'. I don't think we discussed this particular case, and I'm not sure whether there is any precedent here. WDYT @eddyz87, @jemarch ? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143967/new/ https://reviews.llvm.org/D143967 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits