I think if clang exists in-tree, it should be used. If it doesn't, the compiler used to build lldb should be used.
Unless, of course, the compiler is specified with the cmake variables. -- Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project > -----Original Message----- > From: lldb-dev [mailto:lldb-dev-boun...@lists.llvm.org] On Behalf Of Davide > Italiano via lldb-dev > Sent: Friday, October 27, 2017 2:46 PM > To: Pavel Labath <lab...@google.com> > Cc: LLDB <lldb-dev@lists.llvm.org> > Subject: Re: [lldb-dev] check-lldb will start using in-tree clang by default > > So, I wiped out my directory for the build and then I created it again using > cmake -GNinja ../ > > I found out what the bug/problem is, BTW (was going to reply to this e-mail > but > you've beaten me to the punch). > You switched LLDB to build with an in-tree clang, but ninja check-lldb doesn't > really require clang to be built. > As such, once I cleaned up my checkout, I ended up typing just `ninja > check-lldb` > and that failed because clang wasn't built. > I claim that `ninja check-lldb` should list clang as dependency when we're > running the tests with the in-tree clang. > WDYT? > > Thanks! > > -- > Davide > > > > On Fri, Oct 27, 2017 at 12:41 PM, Pavel Labath <lab...@google.com> wrote: > > Did you clean your cmake cache before runinng this? Does > > '/home/davide/work/build-lldb/bin/clang' correctly refer to a clang > > binary you just built? > > > > On 27 October 2017 at 12:39, Davide Italiano <dccitali...@gmail.com> > wrote: > >> Yes, it seems `configuration.compiler` is None, so this explodes: > >> > >> [...] > >> if not is_exe(configuration.compiler): > >> > >> [...] > >> > >> On Fri, Oct 27, 2017 at 12:37 PM, Davide Italiano <dccitali...@gmail.com> > wrote: > >>> I think that this change (or some change nearby) broke `check-lldb` on > Fedora. > >>> > >>> I'm investigating, but in the meanwhile, here's the log. > >>> > >>> $ ninja check-lldb > >>> [2/2] Testing LLDB (parallel execution, with a separate subprocess > >>> per test) Traceback (most recent call last): > >>> File "/home/davide/work/llvm-lldb/tools/lldb/test/dotest.py", line > >>> 7, in <module> > >>> lldbsuite.test.run_suite() > >>> File > >>> "/home/davide/work/llvm-lldb/tools/lldb/packages/Python/lldbsuite/te > >>> st/dotest.py", > >>> line 1099, in run_suite > >>> parseOptionsAndInitTestdirs() > >>> File > >>> "/home/davide/work/llvm-lldb/tools/lldb/packages/Python/lldbsuite/te > >>> st/dotest.py", line 282, in parseOptionsAndInitTestdirs > >>> if not is_exe(configuration.compiler): > >>> File > >>> "/home/davide/work/llvm-lldb/tools/lldb/packages/Python/lldbsuite/te > >>> st/dotest.py", > >>> line 54, in is_exe > >>> return os.path.isfile(fpath) and os.access(fpath, os.X_OK) > >>> File "/usr/lib64/python2.7/genericpath.py", line 37, in isfile > >>> st = os.stat(path) > >>> TypeError: coercing to Unicode: need string or buffer, NoneType > >>> found > >>> FAILED: cd /home/davide/work/build-lldb/tools/lldb/test && > >>> /usr/bin/python2.7 > >>> /home/davide/work/llvm-lldb/tools/lldb/test/dotest.py -q > >>> --arch=x86_64 --executable /home/davide/work/build-lldb/bin/lldb -s > >>> /home/davide/work/build-lldb/lldb-test-traces -S nm -u CXXFLAGS -u > >>> CFLAGS -C /home/davide/work/build-lldb/bin/clang --env > >>> ARCHIVER=/usr/bin/ar --env OBJCOPY=/usr/bin/objcopy > >>> ninja: build stopped: subcommand failed. > >>> > >>> On Thu, Oct 26, 2017 at 7:18 PM, Pavel Labath via lldb-dev > >>> <lldb-dev@lists.llvm.org> wrote: > >>>> I am going to check in a change (D39215) which causes the > >>>> check-lldb target to use the just-built clang for compiling the > >>>> test inferiors (instead of the system compiler, which was the old > >>>> default). The main reason for this is to provide better > >>>> reproducibility of test results between different > >>>> machines/developers, by removing one of the main sources of > >>>> nondeterminism. This behavior can be overridden by setting the > LLDB_TEST_C_COMPILER and LLDB_TEST_CXX_COMPILER cmake variables. > >>>> > >>>> For the change to take effect you will need to clean your build > >>>> folder (or at least, remove the affected variables from your > CMakeCache.txt). > >>>> After this you may observe a change in the test results from the > >>>> check-lldb run. > >>>> > >>>> Note that this change only affect cmake code -- if you run your > >>>> tests by running dotest.py directly, nothing will change for you. > >>>> > >>>> regards, > >>>> pavel > >>>> _______________________________________________ > >>>> lldb-dev mailing list > >>>> lldb-dev@lists.llvm.org > >>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev > _______________________________________________ > lldb-dev mailing list > lldb-dev@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev