If an inline function is used in a target region we do not automatically compile it for the device (mark it as declare target): https://godbolt.org/z/E4Y5dzsx5 ``` inline void foo() {} void test( ){ #pragma omp target foo(); } ``` results in: ``` ; Function Attrs: convergent declare void @foo() ```