aaron.ballman added a comment. In D122983#3430706 <https://reviews.llvm.org/D122983#3430706>, @erichkeane wrote:
> In D122983#3427518 <https://reviews.llvm.org/D122983#3427518>, @xbolva00 > wrote: > >> Could you please check that https://github.com/llvm/llvm-test-suite is >> buildable with your patch? > > Aaron wasn't able to get this working on his system, but I was. I ended up > collecting the following errors (though, if the build ended early and my > workaround of adding the flag failed, i likely missed others): Thank you for the help with this, Erich! > /iusers/ekeane1/workspaces/test-suite-build/tools/timeit --summary > MultiSource/Applications/siod/CMakeFiles/siod.dir/slibu.c.o.time > /iusers/ekeane1/workspaces/llvm-project2/build/bin/clang -DNDEBUG -O3 -w > -Werror=date-time -D__USE_MISC -D__USE_GNU -D__USE_SVID > -D__USE_XOPEN_EXTENDED -D__USE_XOPEN -Dunix -MD -MT > MultiSource/Applications/siod/CMakeFiles/siod.dir/slibu.c.o -MF > MultiSource/Applications/siod/CMakeFiles/siod.dir/slibu.c.o.d -o > MultiSource/Applications/siod/CMakeFiles/siod.dir/slibu.c.o -c > /iusers/ekeane1/workspaces/test-suite/MultiSource/Applications/siod/slibu.c > > /iusers/ekeane1/workspaces/test-suite/MultiSource/Applications/siod/slibu.c:1720:6: > error: implicit declaration of function 'strptime' is invalid in C99 and > later and unsupported in C2x [-Wimplicit-function-declaration] > if (strptime(get_c_string(str),get_c_string(fmt),&tm)) > ^ > 1 error generated. > > > > > /iusers/ekeane1/workspaces/test-suite-build/tools/timeit --summary > MultiSource/Benchmarks/Prolangs-C/plot2fig/CMakeFiles/plot2fig.dir/fontname.c.o.time > /iusers/ekeane1/workspaces/llvm-project2/build/bin/clang -DNDEBUG -O3 -w > -Werror=date-time -MD -MT > MultiSource/Benchmarks/Prolangs-C/plot2fig/CMakeFiles/plot2fig.dir/fontname.c.o > -MF > MultiSource/Benchmarks/Prolangs-C/plot2fig/CMakeFiles/plot2fig.dir/fontname.c.o.d > -o > MultiSource/Benchmarks/Prolangs-C/plot2fig/CMakeFiles/plot2fig.dir/fontname.c.o > -c > /iusers/ekeane1/workspaces/test-suite/MultiSource/Benchmarks/Prolangs-C/plot2fig/fontname.c > > /iusers/ekeane1/workspaces/test-suite/MultiSource/Benchmarks/Prolangs-C/plot2fig/fontname.c:98:18: > error: implicit declaration of function 're_comp' is invalid in C99 and > later and unsupported in C2x [-Wimplicit-function-declaration] > res = (char *) re_comp (s); > ^ > > /iusers/ekeane1/workspaces/test-suite/MultiSource/Benchmarks/Prolangs-C/plot2fig/fontname.c:106:7: > error: implicit declaration of function 're_exec' is invalid in C99 and > later and unsupported in C2x [-Wimplicit-function-declaration] > if (re_exec("typewriter") > ^ > 2 errors generated. > > > > /iusers/ekeane1/workspaces/test-suite-build/tools/timeit --summary > MultiSource/Benchmarks/Prolangs-C/archie-client/CMakeFiles/archie.dir/dirsend.c.o.time > /iusers/ekeane1/workspaces/llvm-project2/build/bin/clang -DNDEBUG > -I/iusers/ekeane1/workspaces/test-suite/MultiSource/Benchmarks/Prolangs-C/archie-client > -O3 -w -Werror=date-time -MD -MT > MultiSource/Benchmarks/Prolangs-C/archie-client/CMakeFiles/archie.dir/dirsend.c.o > -MF > MultiSource/Benchmarks/Prolangs-C/archie-client/CMakeFiles/archie.dir/dirsend.c.o.d > -o > MultiSource/Benchmarks/Prolangs-C/archie-client/CMakeFiles/archie.dir/dirsend.c.o > -c > /iusers/ekeane1/workspaces/test-suite/MultiSource/Benchmarks/Prolangs-C/archie-client/dirsend.c > > /iusers/ekeane1/workspaces/test-suite/MultiSource/Benchmarks/Prolangs-C/archie-client/dirsend.c:298:17: > error: implicit declaration of function 'time' is invalid in C99 and later > and unsupported in C2x [-Wimplicit-function-declaration] > srand(getpid()+time(0)); /* XXX: arg ok, but not right type. */ > ^ > 1 error generated. > > > /iusers/ekeane1/workspaces/test-suite-build/tools/timeit --summary > MultiSource/Benchmarks/MiBench/office-ispell/CMakeFiles/office-ispell.dir/term.c.o.time > /iusers/ekeane1/workspaces/llvm-project2/build/bin/clang -DNDEBUG -O3 -w > -Werror=date-time -Dconst= -MD -MT > MultiSource/Benchmarks/MiBench/office-ispell/CMakeFiles/office-ispell.dir/term.c.o > -MF > MultiSource/Benchmarks/MiBench/office-ispell/CMakeFiles/office-ispell.dir/term.c.o.d > -o > MultiSource/Benchmarks/MiBench/office-ispell/CMakeFiles/office-ispell.dir/term.c.o > -c > /iusers/ekeane1/workspaces/test-suite/MultiSource/Benchmarks/MiBench/office-ispell/term.c > > /iusers/ekeane1/workspaces/test-suite/MultiSource/Benchmarks/MiBench/office-ispell/term.c:519:9: > error: implicit declaration of function 'wait' is invalid in C99 and later > and unsupported in C2x [-Wimplicit-function-declaration] > while (wait (&termstat) != i) > ^ > 1 error generated. > > > /iusers/ekeane1/workspaces/test-suite-build/tools/timeit --summary > SingleSource/Regression/C/gcc-c-torture/execute/CMakeFiles/GCC-C-execute-cmpsi-1.dir/cmpsi-1.c.o.time > /iusers/ekeane1/workspaces/llvm-project2/build/bin/clang -DNDEBUG -O3 -w > -Werror=date-time -w -MD -MT > SingleSource/Regression/C/gcc-c-torture/execute/CMakeFiles/GCC-C-execute-cmpsi-1.dir/cmpsi-1.c.o > -MF > SingleSource/Regression/C/gcc-c-torture/execute/CMakeFiles/GCC-C-execute-cmpsi-1.dir/cmpsi-1.c.o.d > -o > SingleSource/Regression/C/gcc-c-torture/execute/CMakeFiles/GCC-C-execute-cmpsi-1.dir/cmpsi-1.c.o > -c > /iusers/ekeane1/workspaces/test-suite/SingleSource/Regression/C/gcc-c-torture/execute/cmpsi-1.c > > /iusers/ekeane1/workspaces/test-suite/SingleSource/Regression/C/gcc-c-torture/execute/cmpsi-1.c:4:5: > error: implicit declaration of function 'dummy' is invalid in C99 and later > and unsupported in C2x [-Wimplicit-function-declaration] > dummy (); > ^ > > /iusers/ekeane1/workspaces/test-suite/SingleSource/Regression/C/gcc-c-torture/execute/cmpsi-1.c:15:5: > error: implicit declaration of function 'dummy' is invalid in C99 and later > and unsupported in C2x [-Wimplicit-function-declaration] > dummy (); > ^ > 2 errors generated. > > With the following 'diff', I was able to get through these: > > [ekeane1@scsel-clx-24 test-suite]$ git diff > diff --git a/MultiSource/Applications/siod/CMakeLists.txt > b/MultiSource/Applications/siod/CMakeLists.txt > index a562f50d..6473e22e 100644 > --- a/MultiSource/Applications/siod/CMakeLists.txt > +++ b/MultiSource/Applications/siod/CMakeLists.txt > @@ -1,4 +1,4 @@ > -list(APPEND CPPFLAGS -D__USE_MISC -D__USE_GNU -D__USE_SVID > -D__USE_XOPEN_EXTENDED -D__USE_XOPEN -Dunix) > +list(APPEND CPPFLAGS -D__USE_MISC -D__USE_GNU -D__USE_SVID > -D__USE_XOPEN_EXTENDED -D__USE_XOPEN -Dunix > -Wno-implicit-function-declaration) > list(APPEND LDFLAGS -lm) > set(RUN_OPTIONS -v1 test.scm) > llvm_multisource(siod) > diff --git a/MultiSource/Benchmarks/MiBench/office-ispell/CMakeLists.txt > b/MultiSource/Benchmarks/MiBench/office-ispell/CMakeLists.txt > index 13920af8..a102311b 100644 > --- a/MultiSource/Benchmarks/MiBench/office-ispell/CMakeLists.txt > +++ b/MultiSource/Benchmarks/MiBench/office-ispell/CMakeLists.txt > @@ -1,4 +1,4 @@ > -list(APPEND CPPFLAGS -Dconst=) > +list(APPEND CPPFLAGS -Wno-implicit-function-declaration -Dconst=) > list(APPEND LDFLAGS -lm) > set(RUN_OPTIONS -a -d americanmed+ < large.txt) > llvm_multisource(office-ispell) > diff --git a/MultiSource/Benchmarks/Prolangs-C/archie-client/CMakeLists.txt > b/MultiSource/Benchmarks/Prolangs-C/archie-client/CMakeLists.txt > index bf3b189b..f939f2a3 100644 > --- a/MultiSource/Benchmarks/Prolangs-C/archie-client/CMakeLists.txt > +++ b/MultiSource/Benchmarks/Prolangs-C/archie-client/CMakeLists.txt > @@ -1,4 +1,5 @@ > include(CheckFunctionExists) > +list(APPEND CPPFLAGS -Wno-implicit-function-declaration) > check_function_exists(re_comp HAVE_RE_COMP) > > if(HAVE_RE_COMP) > diff --git a/MultiSource/Benchmarks/Prolangs-C/plot2fig/CMakeLists.txt > b/MultiSource/Benchmarks/Prolangs-C/plot2fig/CMakeLists.txt > index 06090ee0..c7019582 100644 > --- a/MultiSource/Benchmarks/Prolangs-C/plot2fig/CMakeLists.txt > +++ b/MultiSource/Benchmarks/Prolangs-C/plot2fig/CMakeLists.txt > @@ -1,5 +1,6 @@ > include(CheckFunctionExists) > check_function_exists(re_comp HAVE_RE_COMP) > +list(APPEND CPPFLAGS -Wno-implicit-function-declaration) > if(HAVE_RE_COMP) > list(APPEND LDFLAGS -lm) > llvm_multisource(plot2fig) > diff --git a/SingleSource/Regression/C/gcc-c-torture/execute/CMakeLists.txt > b/SingleSource/Regression/C/gcc-c-torture/execute/CMakeLists.txt > index 4daf07e7..d95836af 100644 > --- a/SingleSource/Regression/C/gcc-c-torture/execute/CMakeLists.txt > +++ b/SingleSource/Regression/C/gcc-c-torture/execute/CMakeLists.txt > @@ -1,7 +1,7 @@ > add_subdirectory(ieee) > > # GCC C Torture Suite is conventionally run without warnings > -list(APPEND CFLAGS "-w") > +list(APPEND CFLAGS -Wno-implicit-function-declaration "-w") > > set(TestsToSkip) > > [ekeane1@scsel-clx-24 test-suite]$ > > I note that we likely cannot add those until the flag is added to 'clang', so > either these changes need to happen at the same time, or we need to add the > clang-warning-flag WITHOUT this patch's changes, THEN add these changes to > the cmake lists, THEN add the rest of this patch. (Or some variety of other > things). The `-Wimplicit-function-declaration` already exists today, so I believe we can land the changes you have above to the test suite already today independent of this patch. Would you be interested in being nerd-sniped into doing that @erichkeane since you can actually run the tests? (I'm happy to support you in the work however I can, of course.) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122983/new/ https://reviews.llvm.org/D122983 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits