jhuber6 wrote:

> Hey, @jhuber. This change broke the flang build.
> 
> When I revert the change, everything builds cleanly. So I reverted it in 
> merge request #88083.
> 
> After this change was added, I started getting messages like:
> 
> ```
> [4/205] Building CXX object 
> projects/openmp/libomptarget/plugins-nextgen/host/CMakeFiles/omptarget.rtl.x86_64.dir/dynamic_ffi/ffi.cpp.o
> FAILED: 
> projects/openmp/libomptarget/plugins-nextgen/host/CMakeFiles/omptarget.rtl.x86_64.dir/dynamic_ffi/ffi.cpp.o
>  
> /usr/bin/c++ -DDEBUG_PREFIX="\"TARGET x86_64 RTL\"" -DGTEST_HAS_RTTI=0 
> -DLIBOMPTARGET_NEXTGEN_GENERIC_PLUGIN_TRIPLE=\"x86_64-pc-linux-gnu\" 
> -DOMPT_SUPPORT=1 -DTARGET_ELF_ID=EM_X86_64 -DTARGET_NAME=x86_64 -D_DEBUG 
> -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS 
> -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS 
> -I/local/home/psteinfeld/up/build/projects/openmp/libomptarget/plugins-nextgen/host
>  
> -I/local/home/psteinfeld/up/llvm-project/openmp/libomptarget/plugins-nextgen/host
>  -I/local/home/psteinfeld/up/build/include 
> -I/local/home/psteinfeld/up/llvm-project/llvm/include 
> -I/local/home/psteinfeld/up/build/lib/clang/19/include 
> -I/local/home/psteinfeld/up/llvm-project/openmp/libomptarget/plugins-nextgen/host/dynamic_ffi
>  -I/local/home/psteinfeld/up/llvm-project/openmp/libomptarget/include 
> -I/local/home/psteinfeld/up/llvm-project/openmp/libomptarget/plugins-nextgen/common/include
>  -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden 
> -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter 
> -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic 
> -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull 
> -Wno-class-memaccess -Wno-noexcept-type -Wdelete-non-virtual-dtor 
> -Wno-comment -Wno-misleading-indentation -fdiagnostics-color 
> -ffunction-sections -fdata-sections -Wall -Wcast-qual -Wimplicit-fallthrough 
> -Wsign-compare -Wno-extra -Wno-pedantic -Wno-maybe-uninitialized 
> -fno-semantic-interposition -fdata-sections -O3 -DNDEBUG -std=c++17 -fPIC 
> -fvisibility=protected  -fno-exceptions -funwind-tables -fno-rtti 
> -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -fno-exceptions -fno-rtti 
> -MD -MT 
> projects/openmp/libomptarget/plugins-nextgen/host/CMakeFiles/omptarget.rtl.x86_64.dir/dynamic_ffi/ffi.cpp.o
>  -MF 
> projects/openmp/libomptarget/plugins-nextgen/host/CMakeFiles/omptarget.rtl.x86_64.dir/dynamic_ffi/ffi.cpp.o.d
>  -o 
> projects/openmp/libomptarget/plugins-nextgen/host/CMakeFiles/omptarget.rtl.x86_64.dir/dynamic_ffi/ffi.cpp.o
>  -c 
> /local/home/psteinfeld/up/llvm-project/openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.cpp
> In file included from /usr/include/wchar.h:35,
>                  from /usr/include/c++/8/cwchar:44,
>                  from /usr/include/c++/8/bits/postypes.h:40,
>                  from /usr/include/c++/8/bits/char_traits.h:40,
>                  from /usr/include/c++/8/string:40,
>                  from 
> /local/home/psteinfeld/up/llvm-project/llvm/include/llvm/Support/DynamicLibrary.h:16,
>                  from 
> /local/home/psteinfeld/up/llvm-project/openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.cpp:13:
> /local/home/psteinfeld/up/build/lib/clang/19/include/stddef.h:31:42: error: 
> missing binary operator before token "("
>  #if !defined(__STDDEF_H) || __has_feature(modules) ||                        
>   \
>                                           ^
> In file included from /usr/include/wchar.h:38,
>                  from /usr/include/c++/8/cwchar:44,
>                  from /usr/include/c++/8/bits/postypes.h:40,
>                  from /usr/include/c++/8/bits/char_traits.h:40,
>                  from /usr/include/c++/8/string:40,
>                  from 
> /local/home/psteinfeld/up/llvm-project/llvm/include/llvm/Support/DynamicLibrary.h:16,
>                  from 
> /local/home/psteinfeld/up/llvm-project/openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.cpp:13:
> /local/home/psteinfeld/up/build/lib/clang/19/include/stdarg.h:31:42: error: 
> missing binary operator before token "("
> ```

So the error is caused by your `c++` not supporting `__has_feature` presumably. 
However I have no clue why that would happen due to this patch. I believe in a 
few days @jdoerfert will flip the switch and we won't even allow `libomptarget` 
to be built without using the runtimes support so this might not be worth 
thinking about too hard.

Any suggestions for reproducing it?

https://github.com/llvm/llvm-project/pull/88007
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to