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

    <tr>
        <th>Summary</th>
        <td>
            [OpenMP] Metadirective with ifdef doesn't compile
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    ```
$cat test.cpp
int main() {
    int N = 100;
#ifdef USE_OMP
     constexpr bool use_omp=true;
#else
 constexpr bool use_omp=false;
#endif

     #pragma omp metadirective \
               when(user={condition(use_omp)}: parallel for)
     for (int i=0; i < N; i++) {}
}

$clang++ -fopenmp test.cpp
meta.cpp:5:61: error: expected expression
 when(user={condition(use_omp)}: parallel for)
 ^
1 error generated.
```
Removing the ifdef, make the code working.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysU8tu4zoM_Rp6QzRwJD8XXiR1s-sD97EuFJl2dCtLgiQ3vX8_8GOadoDZjSHAFEUenUORIgQ1GKIG8iPkbSKmeLG--efgnCYj7eRjcrbd_w0U6bbSFtIDsEyKiJFC3EnnVqcyEUehDLAKWI1QHlc_IuJ89oTAW9ynKfDjTxiu-o56_Pfvh9fnx5dbPEprQqQP5_FsrcYp0KsdHfA2-om-ApAOtOX9NqcXc9DXJNOpftvd7gTGnRfDKNCODkeKolOeZFTvhJDff4m8fdcLzYKnQB54C-VRWtOpqOzmXRiwGsoW-AGd8EJr0thbP3tviL31CKya66SAt3ONUCHwe3xaTGDHZa11LduN_Kfx-SxamGENxrveOjKj--WdZmHLjh9y4IdiPzMj761fjA9HMlI3G55CmJWsNP-EVMgfVmu_3ogDGfIiUrfbJHxvtL9otO_KDBgvhEuvALvHUbzR4pG2I7xa_6bMsAEkXcO7mtcioWZflEVWVVVeJpemTLOuk_Lc54UoRVEVrBAi63IuRVpkrEpUw1LGU7bP9zVL83wny70QdcZkVRd1VteQpTQKpXdav48764dEhTBRU6RlxRMtzqTDMkmMGbricgiMzYPlmznn7jwNAbJUqxDDDSWqqJcRfHZkHl8gb_HxW_NdVbys6rGzFAywMqK0o1Oaksnr5hKjC8APwE7AToOKl-m8k3YEdppv2X53ztv_SEZgp4VbAHZauP8IAAD__xWKMe0">