Skip to content

Conversation

@aelovikov-intel
Copy link
Contributor

@aelovikov-intel aelovikov-intel commented Aug 4, 2025

GNU g++ host compiler doesn't work with libcxx without some voodoo magic.

GNU `g++` host compiler doesn't work with libcxx.
@aelovikov-intel
Copy link
Contributor Author

Hopefully would address Nightly failure https://github.com/intel/llvm/actions/runs/16713388295/job/47302088328

@sarnex
Copy link
Contributor

sarnex commented Aug 4, 2025

GNU g++ host compiler doesn't work with libcxx.

Actually you can get it to work and it's really annoying and we don't support it really. But yeah either way just skip the test

@aelovikov-intel
Copy link
Contributor Author

0x00007FF6EA45E843, D:\github\actions-runner\_work\llvm\llvm\build\tools\sycl\unittests\Extensions\CommandGraph\CommandGraphExtensionTests.exe(0x00007FF6EA310000) + 0x14E843 byte(s), sycl::_V1::detail::event_impl::~event_impl() + 0x33 byte(s), D:\github\actions-runner\_work\llvm\llvm\src\sycl\source\detail\event_impl.cpp, line 51 + 0x13 byte(s)

0x00007FF6EA321AB0, D:\github\actions-runner\_work\llvm\llvm\build\tools\sycl\unittests\Extensions\CommandGraph\CommandGraphExtensionTests.exe(0x00007FF6EA310000) + 0x11AB0 byte(s), std::_Destroy_range<std::allocator<std::shared_ptr<sycl::_V1::detail::PropertyWithDataBase> > >() + 0x40 byte(s), C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.43.34808\include\xmemory, line 1099 + 0x20 byte(s)

0x00007FF6EA45EC69, D:\github\actions-runner\_work\llvm\llvm\build\tools\sycl\unittests\Extensions\CommandGraph\CommandGraphExtensionTests.exe(0x00007FF6EA310000) + 0x14EC69 byte(s), sycl::_V1::detail::event_impl::cleanupDependencyEvents() + 0x49 byte(s), D:\github\actions-runner\_work\llvm\llvm\src\sycl\source\detail\event_impl.cpp, line 581 + 0x1B byte(s)

0x00007FF6EA45EAB8, D:\github\actions-runner\_work\llvm\llvm\build\tools\sycl\unittests\Extensions\CommandGraph\CommandGraphExtensionTests.exe(0x00007FF6EA310000) + 0x14EAB8 byte(s), sycl::_V1::detail::event_impl::cleanDepEventsThroughOneLevel() + 0x78 byte(s), D:\github\actions-runner\_work\llvm\llvm\src\sycl\source\detail\event_impl.cpp, line 596 + 0x37 byte(s)

0x00007FF6EA50B4F5, D:\github\actions-runner\_work\llvm\llvm\build\tools\sycl\unittests\Extensions\CommandGraph\CommandGraphExtensionTests.exe(0x00007FF6EA310000) + 0x1FB4F5 byte(s), sycl::_V1::detail::Command::~Command() + 0x25 byte(s), D:\github\actions-runner\_work\llvm\llvm\src\sycl\source\detail\scheduler\commands.hpp, line 222 + 0x25 byte(s)

0x00007FF6EA50C8BE, D:\github\actions-runner\_work\llvm\llvm\build\tools\sycl\unittests\Extensions\CommandGraph\CommandGraphExtensionTests.exe(0x00007FF6EA310000) + 0x1FC8BE byte(s), sycl::_V1::detail::ExecCGCommand::`scalar deleting destructor'() + 0x2E byte(s)

0x00007FF6EA52A080, D:\github\actions-runner\_work\llvm\llvm\build\tools\sycl\unittests\Extensions\CommandGraph\CommandGraphExtensionTests.exe(0x00007FF6EA310000) + 0x21A080 byte(s), sycl::_V1::detail::Scheduler::GraphBuilder::cleanupCommand() + 0x300 byte(s), D:\github\actions-runner\_work\llvm\llvm\src\sycl\source\detail\scheduler\graph_builder.cpp, line 1192 + 0x0 byte(s)

0x00007FF6EA52453E, D:\github\actions-runner\_work\llvm\llvm\build\tools\sycl\unittests\Extensions\CommandGraph\CommandGraphExtensionTests.exe(0x00007FF6EA310000) + 0x21453E byte(s), sycl::_V1::detail::Scheduler::cleanupCommands() + 0x1BE byte(s), D:\github\actions-runner\_work\llvm\llvm\src\sycl\source\detail\scheduler\scheduler.cpp, line 475 + 0x0 byte(s)

0x00007FF6EA5225BC, D:\github\actions-runner\_work\llvm\llvm\build\tools\sycl\unittests\Extensions\CommandGraph\CommandGraphExtensionTests.exe(0x00007FF6EA310000) + 0x2125BC byte(s), sycl::_V1::detail::Scheduler::NotifyHostTaskCompletion() + 0x3BC byte(s), D:\github\actions-runner\_work\llvm\llvm\src\sycl\source\detail\scheduler\scheduler.cpp, line 516 + 0xD byte(s)

0x00007FF6EA50C6F7, D:\github\actions-runner\_work\llvm\llvm\build\tools\sycl\unittests\Extensions\CommandGraph\CommandGraphExtensionTests.exe(0x00007FF6EA310000) + 0x1FC6F7 byte(s), sycl::_V1::detail::DispatchHostTask::operator()() + 0x987 byte(s), D:\github\actions-runner\_work\llvm\llvm\src\sycl\source\detail\scheduler\commands.cpp, line 490 + 0x10 byte(s)

0x00007FF6EA466B6F, D:\github\actions-runner\_work\llvm\llvm\build\tools\sycl\unittests\Extensions\CommandGraph\CommandGraphExtensionTests.exe(0x00007FF6EA310000) + 0x156B6F byte(s), sycl::_V1::detail::ThreadPool::worker() + 0x1AF byte(s), D:\github\actions-runner\_work\llvm\llvm\src\sycl\source\detail\thread_pool.hpp, line 79 + 0x0 byte(s)

0x00007FF6EA461BD1, D:\github\actions-runner\_work\llvm\llvm\build\tools\sycl\unittests\Extensions\CommandGraph\CommandGraphExtensionTests.exe(0x00007FF6EA310000) + 0x151BD1 byte(s), std::thread::_Invoke<std::tuple<`sycl::_V1::detail::ThreadPool::start'::`3'::<lambda_1> >,0>() + 0x11 byte(s), C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.43.34808\include\thread, line 61 + 0x0 byte(s)

is unrelated, but tagging @sergey-semenov and @KseniyaTikhomirova for awareness.

@aelovikov-intel aelovikov-intel merged commit 1ef3069 into intel:sycl Aug 5, 2025
25 of 26 checks passed
@aelovikov-intel aelovikov-intel deleted the host-libcxx branch August 5, 2025 14:32
AlexeySachkov pushed a commit to AlexeySachkov/llvm that referenced this pull request Aug 28, 2025
…x` (intel#19696)

GNU `g++` host compiler doesn't work with libcxx without some voodoo
magic.
AlexeySachkov added a commit that referenced this pull request Aug 28, 2025
This is a joined cherry-pick of:

---

[SYCL] Free function host compilation bugfix (#19541)

The `KernelInfoData` struct is specialized in the integration header for
free function kernels and results in compilation errors when using other
host compilers to compile code for example while using
`-fsycl-host-compiler=g++` . This PR removes its generation for free
function kernels in the integration header altogether since it is not
used anywhere.

For more info about the bug tackled by this PR: 

`KernelInfoData` struct is specialized in the integration header for
unnamed kernels such as free function kernels with the primary
definition located in `kernel_desc.hpp`. The primary definition however
seems to be conditional upon the fact that the unnamed lambda extension
must be enabled which is not the case with other host compilers and we
end up with an error of specialization without a primary template.
Furthermore setting `-fsycl-unnamed-lambda` doesn't do the trick as
apparently it is not allowed to be used together with
`-fsycl-host-compiler`. Since it seems unreasonable to disallow using
other host compilers with free function kernels, this seemed one of the
easier solutions at the moment.

Another approach would be to potentially remove the ifdefs in
kernel_desc.hpp that conditionally include/exclude `KernelInfo `and
`KernelInfoData` and have them both available unconditionally. Tagging
@bader for some input about this alternative approach.

Patch-by: Lorenc Bushi <[email protected]>
Co-authored-by: Tom Honermann <[email protected]>

---

[SYCL][TEST] Skip free_function_host_compiler.cpp when using libcxx (#19696)

GNU `g++` host compiler doesn't work with libcxx without some voodoo
magic.

Patch-by: Andrei Elovikov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants