<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=http://email.email.llvm.org/c/eJy1VkuPmzAQ_jXkMiIC89wDh2yy2_bSraqVVuoFGTDg1hhkm93Nv-_wSLJJkyZSVYs4mcHfzOd52MnaYptYzsZyVoaqihl4j8M09O1e_pLtm7QFl_27Xckees1lBbmgOGc9FwaogcAP4jCISeExFywSu5GpYcNyIA5xLXI3mZ7n0JmfSSQ-GKbNMu-6SaON6nMDK7Ci-0kDwKWBe8vbywiLB7veCtUkdvD3uDzazFajDaz36w-eRt4WQcz93iuAnYNdFW9UlXaAUgs2oLU1CPHa2KO-6JsOtcOr2Zi31pJ3lvcwyc67Mw7fGzgNY_OSPq8-pbrPOtVWijY77qcDF66eU0kbZjl3474IciX7sF1CFCwXacnFAbaP461oTOuM9m4CUEUNb-UEwTSxqyj2bpiSVJyBnAQu2gVuH7qyVQ0VaYdeG4ZmLnna-TLbbt7NzmhAYIgmTlciujNBleElz_l5whdyHpCJ-ky7a7FamZrpnPN3ia7nw2nyTzxFR56u1dbkR7RvaZcfezqMi0GZwDWv6oto17-CLofMpRnV80ZR-_QtVawK4fv9tyvgNvvJcrML5zGDML4Cxsr-RSt23Fbpj6_uak0eXv9WDBNedywfKuFDvR9a_EqWkNzxGXBrIe_y9dHrFLIyw6CBfXnXZ48RU3N9y1nwZyXG4Y2N8w9tE4f_sW1OLplxfq6ZYkDxY95avFK0oTJnGtoScOU5GmP4dz5JvBrs44NmkfmHQ4bKAg7bWsILg1aKLUjGCvzFBhemZprhHcJoXgMei4oC19BLyZCDpmq7nFguisQr7rw7uqC9qVuVPK0_b2mjF70SSW1Mp9G5RR7xqbip-2yZtw0Kw2U1f9l4Kgy9gyLXumdYBI8BiaJoUSeeFzuZExWuG4ak9FwnK5yC-iQIiiDPA2chaMaETqwAL0lSsKyvuCzbIbjBZvHvDHgy_CdwiRu5gRME8ZJEhAaFH_le6cd-mFu-wxrKxXKws2xVtVDJaBKZaHwpuDb68JJqzSuM80gYGRpuxChsXlbfH1Fzrr5g8-UBir4TQ4Njig5Z4GK7GBknI93fuw9suA>52777</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[DWARF] DW_TAG_pointer_type DIE duplicated unnecessarily
</td>
</tr>
<tr>
<th>Labels</th>
<td>
debuginfo
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
OCHyams
</td>
</tr>
</table>
<pre>
target x86_64-unknown-linux-gnu using clang built at 54586582d3e1 (17th Dec 2021)
```
$ test.cpp
struct A {
int B;
A(): B(0) {}
} C;
$ clang++ test.cpp -c -gdwarf-5 -o - | llvm-dwarfdump - -o -
<snip>
0x00000043: DW_TAG_subprogram
DW_AT_name ("A")
DW_AT_decl_file ("test.cpp")
DW_AT_decl_line (3)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000047: DW_TAG_formal_parameter
DW_AT_type (0x00000052 "A *")
DW_AT_artificial (true)
<snip>
0x00000052: DW_TAG_pointer_type
DW_AT_type (0x00000034 "A")
0x00000057: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000000000)
DW_AT_high_pc (0x0000000000000014)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x00000068)
DW_AT_linkage_name ("_ZN1AC2Ev")
DW_AT_specification (0x00000043 "A")
0x00000068: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x00000086 "A *")
DW_AT_artificial (true)
<snip>
0x00000086: DW_TAG_pointer_type
DW_AT_type (0x00000034 "A")
```
There are two instances of `DW_TAG_pointer_type(DW_AT_type(A))`: 0x00000052 and 0x00000086. We only need one of these - each extra is unnecessary.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy1VluPmzoQ_jXkZUQE5v7AQxJ2zzkvbVWttFJfkAEDPjUX2aa7-fcdLkk2adJEqmoRB1---T7PjG2yrtjHhpUY1kZTWTEN76Gf-q45tN_b7q01BW-Hd7NqBxgUbyvIBcU6G7jQQDV4rhf6XkgKh9lgkNAOdA0Jy4FYxDZINJteat9anrlJXNBM6XXe93OP0nLINWzACLZzDwBvNWwN59hGWDjadTbYTUIL36fpQbJYDRLYHeefmCbdBkHM9sgKYOZgVsUblaXpYasDE9DaDoT40ZhTfzE0PfaOQ4sxZ6da3hvO09y23q2puM6oaSzJa_qy-SdVQ9bLrpK0OWi_LDhx85K2tGGGFU3rIqiVHN12C1GwXKQlFyfY0Y-PojGsC9p5CEAl1bxrZwiGid1FsXfNZEvFFciF44KD446uKzvZUJH2yNowNHOL6cCl9_2ymoNRj8DoTazuePRggkrNS57z64JvxNwjs_RFdt9htjK5yLnGd0uu48Jl8C-YgjOme7k184juLe3zc6ZTuemUGVzzqr6Jtt076HKMXJpRtSwUez9_SSWrfPi6_XIH3GX_s1wf3HmuwA_vgDGzv9OKnW-r9Nsne7MjTz9-lwwzXvUsHzPhQ76ftvidKKG48zPg0UQ-xOsj6-yyMkOngXl71VePEV1z9chZ8Gsmhv6DG-cPtk3o_8Vtc3HJTPVLzSQDij_91uGVojRtc6agKwFnXpMxuf_AScLNaB8fNIvKPxwytC3gtKw1vDLoWrGHlrEC39hIoWumGN4hjOY14LEoKXAFQ9sy1KCo3K9nlasidorIiehKcy1YbHjb5HXz9dnwkmuuguS_JyiGXoy5imwng1zsV4MUca11r1CwQZ7xqbiuh2yddw02xgtu-TPxJBn3Gza5UgPDxHn2SBAEqzqOWBFF1Im8zM5YbjMrp1YRMkJ9EhWO7awEzZhQo1QMQsGyoeJt2Y0B8ZIVj8evAJvYge1ZnheuSUCoV7iB65Ru6Pq54VqsoVysRx3rTlYrGU-S0I7CQcGVVqdBqhSv0LMTHdqng647GX_e_bunjVpN6uNJ-k_aM1gW">