<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/65097>65097</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            CXXThisExpr not always Lvalue in HLSL
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            HLSL
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            llvm-beanz
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          llvm-beanz
      </td>
    </tr>
</table>

<pre>
    A change to fix C++ lambda captures triggered a crash in HLSL test cases as a result of the AST not correctly annotating CXXThisExpr nodes as Lvalues. In HLSL they should always be Lvalue references, and we should rely on Lvalue to Rvalue casting when Rvalues are required.

The relevant C++ change is https://reviews.llvm.org/D159126.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxUkkFvozAQhX-NuYyKwA60HDikyaJdKadtDr0OZsBeOXbWY5Jmf_0qCWnVC1jj0XtPnx8y28kTtaJ6FVI6dzo89YT-n5BSVNsM52RCbL_mWR-GS7sGbdBPBCnAaD9gI-SrkK_g8NAPCBqPaY7EkKKdJoo0AIKOyAash5-7tx0k4gQamRiQASESzy5BGCEZgvXbHnxIoEOMpJO7AHofEibrJ9i8v--N5R8fxwg-DHeF3QndTJzDr4eBoQuwCbMbAN0ZLww9LWsQaaRIXhMLuQH0A5zpsRzJXSD4x2oK8Pt-0sg3_7Mhv8wYMF7V_s420pCLYiuK9f27N9cLRyf06ZPPQs0ymJSOLNRayE7ILtLJ0pnzK-c8xEnIbltWTSnrPBtaNTSqwYzasm6UWtVKqcy0ZbXqFTWjQtIFPY-6KWpEKftipZQuZGZbWUhVvMhGltVLpfJhpKHHuhqrulSy7MWqoANa92mbWeaZ2roqmufMYU-Ol2JckS6VeLRhnlisCmc5feXOkk2O2u8vlB78F6JLBbI5uvY7hskmM_e5Dgchu6vm8ns6xvCHdBKyuyVkIbtbyP8BAAD__2MG6Bw">