OpenCilk / opencilk-project

Monorepo for the OpenCilk compiler. Forked from llvm/llvm-project and based on Tapir/LLVM.
Other
88 stars 29 forks source link

`-fcilkplus` exists and doesn't point people in the correct direction #243

Open wheatman opened 2 months ago

wheatman commented 2 months ago

Describe the bug

when compiling with -fcilkplus it errors with /usr/bin/ld: cannot find -lcilkrts: No such file or directory

Expected behavior

For it to error with a message to use -fopencilk

OpenCilk version

clang version 16.0.6 (https://github.com/OpenCilk/opencilk-project df80b7d1b218109ee7427c0ef498848d9a63c118)

Similarly, are any of the other flags no longer used

./clang -cc1 --help | grep cilk
  -fcilkplus              Enable Cilk Plus extensions
  -fcilktool=<check>      Turn on the designated Cilk tool
  -fopencilk-enable-pedigrees
  -fopencilk              Enable OpenCilk extensions
  --opencilk-abi-bitcode=<value>
  -shared-libcilktool     Dynamically link the cilktool runtime
  -static-libcilktool     Statically link the cilktool runtime
neboat commented 2 months ago

The OpenCilk compiler still supports compiling Cilk programs to use the Intel Cilk Plus runtime system. The -fcilkplus flag enables that support. The linker error you see means that you don't have Intel Cilk Plus runtime system installed.

Intel Cilk Plus is a different system from OpenCilk. Although Intel Cilk Plus is deprecated, it's still useful, from time to time, to be able to compile Cilk programs to Intel Cilk Plus. A deprecation warning might be appropriate, but I don't think it's appropriate to issue a full error.

wheatman commented 2 months ago

I did not realize cilkplus still worked. I think a deprecation warning would be helpful.