<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/118570>118570</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[DirectX] Eliminate implicit conversion operator of ComputeShaderFlags to uint64_t
</td>
</tr>
<tr>
<th>Labels</th>
<td>
HLSL
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
bharadwajy
</td>
</tr>
</table>
<pre>
The implicit conversion `operator()` of `ComputeShaderFlags` to `uint64_t` may encourage unintended usage - see [this comment](https://github.com/llvm/llvm-project/pull/118306/files#r1868206699).
Eliminate `operator()` and update other access functions such as `getFeatureFlags()` etc., accordingly.
Additionally, define equality `operator==`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUkk9v3CAQxT8NvqBY_LG99sGHTbZWD7mlh94qbAabCIMLQ6r99hUbbaOquVRCQpphHrzHT6VkVw8wkvaRtJdKZdxCHOdNRaV_qddrNQd9Hb9tQO1-OLtYpEvwbxCTDZ6SjoUDosIQieiJGEjHaDCl_hT2IyO8bEpDnJxaU-lhKL1sPXbNDyyVXV0p-CXkqFag2VuP4DVomlMpPNAEQEn7iJtNdAn7Dh5JeyGi3xCPROSZiImIabW45blewk7E5NzbfXs4YniFBYmYjuwcERPnvWQdEZOxDhIRMvK-6wXrumEgYqgJOxN2_uLsbr1C-Nyk8prmQ5d-wA0iVcsCKVGT_YI2-ERTXjaqUhlfASdQmCO8B_FHBXCpiXgqwyFq61d3ren7_WetbRFSzl3LEQ3GeqDwMytn8frXq-SlrI7VlR6lHuSgKhj5SUpxkg2X1TbyYYDGmF6D0b0QpteNbCRnXA1qnrms7CiYaLhgDWMt47I2vWHzsLR8PjWGGUMaBruyri6h1iGulU0pw8h5355Y5dQMLt0wEuLr88szEaIAFcfbJ8x5TaRhziZMHwpo0d3Qu9gIC34n7YV-5P4ZcHfLBbJ_CSt43dmqcnTjfyNy85TeISm23kbxOwAA__9QNgMw">