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

    <tr>
        <th>Summary</th>
        <td>
            [runtimes] [openmp] `-nostdlib++` added to `CMAKE_REQUIRED_FLAGS` breaks hwloc detection for OMPT
        </td>
    </tr>

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

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

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

<pre>
    To reproduce:

```
$ cmake -G Ninja -DLLVM_ENABLE_RUNTIMES=openmp -DLIBOMP_USE_HWLOC=ON ${path_to_llvm_project}/runtimes
[…]
-- Looking for hwloc.h
-- Looking for hwloc.h - not found
-- Looking for hwloc_topology_init in /usr/lib64/libhwloc.so
-- Looking for hwloc_topology_init in /usr/lib64/libhwloc.so - not found
-- LIBOMP: Could not find hwloc
CMake Error at /home/mgorny/git/llvm-project/openmp/runtime/cmake/LibompUtils.cmake:26 (message):
  LIBOMP: Hwloc requested but not available
Call Stack (most recent call first):
  /home/mgorny/git/llvm-project/openmp/runtime/CMakeLists.txt:387 (libomp_error_say)


-- Configuring incomplete, errors occurred!
```

`CMakeFiles/CMakeConfigureLog.yaml` hints at the problem:

```yaml
  -
    kind: "try_compile-v1"
    backtrace:
      - "/usr/share/cmake/Modules/CheckIncludeFile.cmake:90 (try_compile)"
      - "/home/mgorny/git/llvm-project/openmp/runtime/cmake/config-ix.cmake:351 (check_include_file)"
      - "/home/mgorny/git/llvm-project/openmp/runtime/CMakeLists.txt:276 (include)"
    checks:
      - "Looking for hwloc.h"
    directories:
      source: "/home/mgorny/git/llvm-project/build/CMakeFiles/CMakeScratch/TryCompile-EEYwvY"
      binary: "/home/mgorny/git/llvm-project/build/CMakeFiles/CMakeScratch/TryCompile-EEYwvY"
    cmakeVariables:
      CMAKE_C_FLAGS: " -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wno-comment -fdiagnostics-color -Wall -Wcast-qual -Wimplicit-fallthrough -Wsign-compare -Wno-extra -Wno-pedantic -Wno-maybe-uninitialized -fno-semantic-interposition -fdata-sections"
      CMAKE_C_FLAGS_DEBUG: "-g"
      CMAKE_EXE_LINKER_FLAGS: ""
      CMAKE_MODULE_PATH: "/home/mgorny/git/llvm-project/openmp/runtime/cmake;/home/mgorny/git/llvm-project/openmp/cmake;/home/mgorny/git/llvm-project/openmp/../cmake/Modules;/home/mgorny/git/llvm-project/runtimes/cmake;/home/mgorny/git/llvm-project/runtimes/cmake/modules;/home/mgorny/git/llvm-project/runtimes/../cmake;/home/mgorny/git/llvm-project/runtimes/../cmake/Modules;/home/mgorny/git/llvm-project/runtimes/../llvm/cmake;/home/mgorny/git/llvm-project/runtimes/../llvm/cmake/modules"
    buildResult:
      variable: "LIBOMP_HAVE_HWLOC_H"
      cached: true
      stdout: |
        Change Dir: '/home/mgorny/git/llvm-project/build/CMakeFiles/CMakeScratch/TryCompile-EEYwvY'
        
        Run Build Command(s): /usr/bin/ninja -v cmTC_5eb96
        [1/2] /usr/bin/cc   -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wno-comment -fdiagnostics-color -Wall -Wcast-qual -Wimplicit-fallthrough -Wsign-compare -Wno-extra -Wno-pedantic -Wno-maybe-uninitialized -fno-semantic-interposition -fdata-sections  -nostdlib++ -nostdinc++ -o CMakeFiles/cmTC_5eb96.dir/CheckIncludeFile.c.o -c /home/mgorny/git/llvm-project/build/CMakeFiles/CMakeScratch/TryCompile-EEYwvY/CheckIncludeFile.c
        FAILED: CMakeFiles/cmTC_5eb96.dir/CheckIncludeFile.c.o 
        /usr/bin/cc   -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wno-comment -fdiagnostics-color -Wall -Wcast-qual -Wimplicit-fallthrough -Wsign-compare -Wno-extra -Wno-pedantic -Wno-maybe-uninitialized -fno-semantic-interposition -fdata-sections  -nostdlib++ -nostdinc++ -o CMakeFiles/cmTC_5eb96.dir/CheckIncludeFile.c.o -c /home/mgorny/git/llvm-project/build/CMakeFiles/CMakeScratch/TryCompile-EEYwvY/CheckIncludeFile.c
        cc: error: unrecognized command-line option ‘-nostdlib++’
        ninja: build stopped: subcommand failed.
        
      exitCode: 1
```

i.e. the `nostdlib++` flags gets appended to *both* C and C++ compiler flags, effectively breaking all compilations done in C mode.

CC @mstorsjo as the one who added the logic
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWFtz46gS_jX4hcIl44viBz_YsjxJrZPMyWVy9kmFAEtMEGgBJePz60-B5PiyztZms7tPk0olloDuj68_mm4Ta0WhOJ-B8QKMlz3SuFKbWVVoo7a9XLPt7EFDw2ujWUM5GM5BtATR7u8k6n7bRzyCtCLPHKIv8Eao7wSi5Xr97TpLb-aLdZrdPd48XF2n92C41DVXVe3Hrxa311-zx_s0u3xa3yZguLy9gQCPQLyoiSszpzMpX6qsNvo7pw7ES4BXplFOVNx2jscLkGJwEYH5BIyX7UuE4FrrZ6EKuNEGlq9S0375R2MQQaUd3OhGsffnZU7XWupimwklHBQKArxqrAF4JUU-GbX_W5NW_112zmML3IHhHCa6kaydIRRrHbTTkmsfkNQYbSBx3kepKw7wqo0xwKtCOO9LvlRoxzFetfHZMw3wKoQW4NVa5LqqH52Qtt--G87xBAJ8UXFrScEBnr4JBR6AvPSooOG_Ndw6zmDeuACZvBAhSS55h5hICe8doc_BprYOGk65cpD6kY0w1h27-MSmAj1rYZ3tux8ODOfDi9i7lWGTGfe8ZZZsvcND5e9CkGi1EUVjfGiForqqJXcc4ASGpRZqShtjOAN4cP7Q7F4GJCshud3B2tnma130t6SSYBLBUihnfSRdyWFtdC559d6xDGs6jtDuA4TPQjEfD4CxM9vMgxaSo5cBwHg_Kyf02RlycOhh-EF-3ZtUbUnMoTiuNWu6LZScPl8pKhsWtvWmlWnkCT7w7Lk99Lz38Vmp0sAgEj_enA_HA--denCZaNFlm38ExO-kheNwSjqvpw4DJHuO7HNp7HAlE4ZTp43gp8utbkwI4Ee2kjdCsh3-I0HeU0McLQFePZht0skmTX99ffn1hLtcKGK2_7rjEOVvxAifTU7JSK7nv6RZkq3W8y_3HTSInnxOQU_8hzMEoielUaMayxmqiSEVd9xA9PRqhOPIOn_MLURPlFiHfmuIbFdUwlqhCrQRXDLk07kgUvyPG9uOU11VPn-hDROkUNo6QS2iWmrzBuDQpKhqKahwaEOkdKXRTVFC9OSvam-rJoa3hg9Q15wR5QTtEJFtzlGj9lgYRBulkeVVmIaEctzU2gontPLIiCPIcuof7Uk0j5jLluni8UvHHyrOTk3_m2brq5tf0rsjts_Ovb5dPq7T7Ov84fKDenn34A8XHzbxlxf2-2ey35-381bIfBzC75biVfUZ_wc7-ez6TzIRLPnhvwHQkZk9Q0c3nc87d9w20p2kjJculXTC7GrVy_m3rljNLk8kTQktebhcnWn4USp2TDcuGIqTwwEIk5KogsOlMK2f-B9OmPGx--Onu0bBhbcLE11VRDGAL2xbbu0L1FwogFeqLfFfIK0ekmzM8-nkxPJ4MQB4hcF4ebqWUn-7_Uy-Z5IvhMijZFLkAC8AXnTPQtHds4ZHId_z32fCnK29-hoi-qcL5b8orDN-jwWxml-t02VoWD6O_0RbP_X0U0-Uei2FTst_aJThVBcqMETb9IWkUBzqOjDTfUswvThhZPd-emw-JDhvOOCH1um6brO7bfLOPtwQITnrv59T-Q_hEs3CJfJHPaDo837o6sAkOoE3ieBGksLCgvvmr665YpxBpyHA81y7EuA5TKCHk3Qx7Xor0y4MDelm4xXxwuUW5oaT0FN4vbZTSSsWphWHQsEEVprx_iHAJIFgFFXWaWO_a0hsQOvnv5YaEhYglRxKXQjaY7Mhmw6npMdng3gwwtFFPI175Ww0oKPhJB7gKWZ4MIwvaH4Rx6Mo5tPRhsSkJ2Y4wqNohONoGk2GcZ9MN2M6itmY4fGE4g0YRbwiQva9yvraFD1hbcNn02g4xD1Jci5t-EILY8VfYRj09_R42TOzoMy8KSwYRTI0Z29WnHAyfBP2VkP4e2u86Go9_zCJTpUziXY71zB08b6mvUv_83h1ly676ncStYTbtn2DjLv2bIaW7vb660OvMXJWOleHpgWv2oNUNnmf6mpfxZwcq7Azf5TCzv8fAAD__-30T1Q">