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

    <tr>
        <th>Summary</th>
        <td>
            Clang pragma attribute push does not work for nodebug on function/record/type_alias
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          mikeynap
      </td>
    </tr>
</table>

<pre>
    Problem:
```
#pragma clang attribute push(__attribute__((__nodebug__)), apply_to = any( function)
```
gives
```
error: attribute '__nodebug__' can't be applied to 'function'
```
The only specifier that seems to work is `variable(unless(is_parameter))`. I tested all of the various flavors of function/record/type_alias with their corresponding `unless` and all gave the same output.

However, I _can_ apply attribute(nodebug) to methods/functions/type_alias directly. 

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEU01vpDgQ_TXmUkrLXTRfBw69iVqb2x72joxdgCfGRrbpiH8_MmGmp3MZyRLSE-X3Uc8iBD1aopYV_7DiLRNrnJxvZ_1BmxVL1ju1tf951xuaWX5l_MpKfhx-ZZgvXoyzAGmEHUHE6HW_RoJlDRPDuut-Q13HsN4h6xT165iAZj-vIJbFbF10wPI3EHZjWMOwWhm1s-mXZ9pR3yl8w8h751l-_UMDw-qJrAIpLMMqQk87oyYFiROrB1f17d7_JwJnzQZhIakHTR7iJCIEojmk6U_nP0AHYCW_C69Fb4hhvVpDITCsdegW4cVMkfzht-QneIdIIZICYQy4AeJEkMbdGmAw4u58SPBD182TdF4xvMVtoU4YLQJ86jilUe1BOu8pLM4qbcck5lBQchD2i2YUd9qJgpgJ3BqXNZ6SXX79133SPQl8hXfopLDd10oeaTKsjygZNsn3THFyKjC8_RIZnsUp7UlGs52A8Wum2lw1eSMyas9VkSPPq5pnU1s2F46qyAfBh2Zo6IJ9fWlklfOyolIWmW6RY8ErxHPFsShOeFY5P0slJRZF3lfswmkW2pyMuc8n58dMh7BSey44L4vMiJ5M2PuNuNeUIaaq-zYNvPTrGNiFGx1ieFwRdTTUvu6tPir-XG5QjgJYF78KMDgPRz7g7F_2lq3etFOMS0hPCm8Mb6OO09qfpJsZ3pKK4_OyePeDZGR4212ljA9j9xZ_BgAA___Yqjkp">