AdaCore / gnat-llvm

LLVM based GNAT compiler
179 stars 18 forks source link

Compilation Failed: errout.adb:57:06: warning: no entities of "Warnsw" are referenced #33

Closed grochoge closed 1 year ago

grochoge commented 1 year ago

Build log tail:

/usr/bin/gnatgcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/matt/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000007.TMP /home/matt/gnat-llvm/llvm-interface/gnat_src/gnat_cuda.adb
/usr/bin/gnatgcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/matt/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000015.TMP /home/matt/gnat-llvm/llvm-interface/gnat_src/lib-util.adb
/usr/bin/gnatgcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/matt/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000016.TMP /home/matt/gnat-llvm/llvm-interface/gnat_src/spark_xrefs.adb
errout.adb:57:06: warning: no entities of "Warnsw" are referenced [-gnatwu]

   compilation of errout.adb failed

gprbuild: *** compilation phase failed
make[1]: *** [Makefile:81: build] Error 4
make[1]: Leaving directory '/home/matt/gnat-llvm/llvm-interface'
make: *** [Makefile:2: all] Error 2
ArnaudCharlet commented 1 year ago

Hello. You probably have a mismatch of sources between gnat-llvm and gnat/gcc. Can you try to update to master on both gnat-llvm and gcc sources?

grochoge commented 1 year ago

@ArnaudCharlet This is with the latest master on both. Just updated gcc now (to basepoints/gcc-14-1168-gbd99d7b3ca4) with no change.

I'm missing where it's treating warnings as errors in the .gpr file.

It also seems like Warnsw is referenced in that file, Ironically to "Disable warnings on unused use clauses". And commenting out the use line results in errors about it being undefined. Maybe a GCC/GNAT 12.1 bug?

ArnaudCharlet commented 1 year ago

Yes, if you're using the latest sources then it's a bug in GCC 12.1 and you'll need to use a more recent version of GCC to build GNAT LLVM (since Warnsw is indeed referenced).