<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/153592>153592</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[LifetimeSafety] Two loans created from the same expression
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:temporal-safety
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
usx95
</td>
</tr>
</table>
<pre>
```cpp
#include <string>
void foo() {
std::string a;
const std::string* p = {&a};
const std::string* q = p;
}
```
https://godbolt.org/z/b4nKKGccE
Debug output:
```
[B2 (ENTRY)]
Succs (1): B1
[B1]
1: (CXXConstructExpr, std::string)
2: std::string a;
3: a
4: &[B1.3]
5: [B1.4] (ImplicitCastExpr, NoOp, const std::string *)
6: const std::string *p = {&a};
7: p
8: [B1.7] (ImplicitCastExpr, LValueToRValue, const std::string *)
9: const std::string *q = p;
10: [B1.2].~std::string() (Implicit destructor)
Preds (1): B2
Succs (1): B0
[B0 (EXIT)]
Preds (1): B1
==========================================
Lifetime Analysis Facts:
==========================================
Function: foo
Block B2:
End of Block
Block B1:
Issue (LoanID: 0, OriginID: 0)
Issue (LoanID: 1, OriginID: 0)
AssignOrigin (DestID: 1, SrcID: 0)
AssignOrigin (DestID: 2, SrcID: 3)
AssignOrigin (DestID: 4, SrcID: 2)
AssignOrigin (DestID: 5, SrcID: 4)
Expire (LoanID: 0)
Expire (LoanID: 1)
End of Block
Block B0:
End of Block
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzEVU1v4zYQ_TWjyyAGP0RbOuggW3YRbLBbbIIiPVISZbOVRZWk0qSH_vaCkj_izTrNLYAACpz3Zh5nhhzpnN52SmUgliCKSA5-Z2w2uOdURKWpXzKYk-mr-h5IDozrrmqHWiHwlfNWd1vg62Ah-ZPRNTbGAEuApQiLJZAcEdH5GngOPJ8IKIEfTZXpnP8RACzHHoEXow82l7AoPkD5a6T0EzJQSH6SDyTfed-7wGEbYJutqUvT-pmxW2Cbf4Btyrj78uWXqjqcplDlsEUz-H7wgXXpDMRyyRBYsv768P13YCmIYtJ3P1SVCxYadnmOSxoMgUBPIBoMAbR6fFyF89ih8uvn3gJbvT1aGkgsUK5nkgeznP7j8A9sPsac8VNUMe6PmzGIIsS_3fetrrRfSXeK_9V868P600QjsPygCHEeHF6FXS3hItBCO2FyVrR4R9Hdb7Id1IP5Pq4f05a-q-2iVxApOQthIIrZv2-KMPX0WR_WaiqbsaeYv1pVX9aeXWsKcmwKMnbR4-3D6yZ664hOXQm8-MxvuoGIeKcb5fVeYd7J9sVphxtZeXe4KJ8tcjN0ldemC5kLD1KQvWxN9WcoyCgRcd3VaJpp-zWAHgGIt84NKlThzsjutgjeSGi-b1Zv9XljLP5PsPQaFhHz8eWdjIFVKOdfse5tdUm5jmcXeP6REPEFhf1vCHGBj88h1s-9tm8z9J6ZHs3X8k-uFOj0-kZ1xuuUpzJSGV0IQZM4piTaZSpNRKrihDciZrFqVKzKeVo2SdPUNKnnkc4YYYIkNKaCcsZnnMesThO6KMm8qUkKMVF7qdtZ2z7tw2iIdChrRgUXKYtaWarWjcOSsaqVYfblXu17Y2V742Sj_Auw8H5ENgsubsph6yAmrXbenZ167dtx5h5v0f1EFQU-_G2wNbJzWFklvaqxsWaPfqfQyb1C9dxb5Zw2XTTYNvthpmm_G8pZZfbANiHaYbnprflDVR7YZjyPA7Y5HOkpY_8FAAD__3LvKU8">