<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/75225>75225</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
In a follow-up, we could use `_LIBCPP_AVAILABILITY_HAS_PRINT` to check whether we have `__get_ostream_file` on the current deployment target. If we don't, we could instead assume that `!__file` and use `__vprint_nonunicode`. That would make this *mostly* work for older deployment targets, except for the `flush` below. But by and far, users could use `<print>` on older deployment targets with no issues.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ldionne
</td>
</tr>
</table>
<pre>
In a follow-up, we could use `_LIBCPP_AVAILABILITY_HAS_PRINT` to check whether we have `__get_ostream_file` on the current deployment target. If we don't, we could instead assume that `!__file` and use `__vprint_nonunicode`. That would make this *mostly* work for older deployment targets, except for the `flush` below. But by and far, users could use `<print>` on older deployment targets with no issues.
We could then even remove the availability annotations on `__vprint_unicode` and others, since they would basically have no deployment target requirements anymore.
_Originally posted by @ldionne in https://github.com/llvm/llvm-project/pull/73262#discussion_r1424370972_
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsk8-OpDYQxp_GXEqDwPxLHzjQM2mlpVEySkaJckIGisYZYxO73Gy__cr0zM62RnvY40rLAZDl-upXX1UJ5-RJI9as2LPiIRKeJmNrNUijNUadGS413DxHDQJGo5RZ7_zC-D2sCL3xagDvEFiZtI_H_f3TU9v83Rwfm_3x8fj8b_tb81f79Ofx92dWJkAG-gn7F1gnpAltkJjE-RrdnpBa48iimNtRKgwRRgNNCL23FjXBgIsylzn8krAnpBiOY1AZjGa8ohssqR2hGEA452cEmgSFRIyn7Rd9od_x2_NipaZWG-217M0QbsTwHOLWTXEWL0FHOmC8mY0jdWG8gdXYFxiNBaMGtB8hXcDCTz0utF0LFbEyGZV3U4DoUJk1hr0n6C4b0ihsiPEOrbs1mWX3GyXLfn3151tJYZU0gTYgnfPoYpY8sKS5vv9584gm1IBn1GBxNmfc2MRZSCU6qSQFHG1IkDTahWxfG_Xu0gZtQku3Wp3U_SZ1eTWuE072QqnLtd3afOQFi_97aTEcORD6MhuLN9DtH1aepN5kFuMIh2AXy5PXqQWpYSJaHMsaxg-MH06SJt_FvZkZPyh1fvvcLdb8hz0xfli8UowfqoyXnPFskK73zkmjW5vmPM-qZFfx9goA0VBnwy7biQjrtEp4nmRpUkVTvSvEmJRJJoZyJ_oO-7GsqlyUVfFLlecFj2TNE56lPOVplRdJEVdVmWLKd6PosrGoBpYnOAup4sAXG3uKtrbVVcF5ESnRoXLbsnKucb32lHEedtfWW02dP7lghnTk3lVIksL65_L-4Msbeavq7x7ua3AY7zBFnwMAAP__Z339gw">