Date: Mon, 22 Apr 2024 14:47:04 -0400 From: "Kevin P. Neal" <kpn@neutralgood.org> To: Dimitry Andric <dim@freebsd.org> Cc: FreeBSD Hackers <freebsd-hackers@freebsd.org> Subject: Re: clang fails libc++experimental test case... Message-ID: <ZiawqDWYfLqjYJtb@neutralgood.org> In-Reply-To: <A80CE46A-E7FC-460A-A36C-54F48B19608C@FreeBSD.org> References: <ZiaZIe9s76FsOp4W@neutralgood.org> <A80CE46A-E7FC-460A-A36C-54F48B19608C@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Apr 22, 2024 at 07:16:18PM +0200, Dimitry Andric wrote: > On 22 Apr 2024, at 19:06, Kevin P. Neal <kpn@neutralgood.org> wrote: > > > > I'm looking at failing test cases with clang+llvm and I'm developing > > on FreeBSD. There are multiple failing test cases, but at the moment > > I'm looking at: clang/test/Driver/experimental-library-flag.cpp > > > > This case tests to see if clang properly attempts to link against > > either libc++ or libstdc++ depending on the flags given to clang. > > Except FreeBSD's implementation in clang/lib/Driver/ToolChains/FreeBSD.cpp > > doesn't support libstdc++ at all and just links against libc++. The > > result is a failing test. > > > > Is this intentional? If it is we can mark the test as unsupported on > > FreeBSD. If not intentional then we need to fix the clang driver. > > I think we ripped out libstdc++ support many years ago now. If somebody > is really interested in that use case, they could spend the time to make > it work again, although it would be tricky to do, since there is no > standard location for those headers in FreeBSD anymore. :) > > So short-term it is probably best to avoid running any of those tests > with -stdlib=libstdc++. That sounds like an argument for disabling this particular test. > > I'd really, really like to be able to do a 'make check' on a build of > > clang+llvm on FreeBSD and have all tests pass. This is part of that effort. > > How exactly are you running "make check"? Use the CMake-generated > Makefile from the upstream build system? I work full time developing LLVM and only build it from a tree checked out from the official LLVM repo at GitHub. Yes, I run cmake from my build directory and have it create all the files needed by make or by ninja. I actually run 'ninja check' but 'make check' is easier to talk about since everyone here already knows about make. I only build clang. LLVM's cmake configuration allows one to build only the parts of the project that you need. I only need clang+llvm, and it still takes nearly two hours to run the tests on a 12-way login server. >From the shell script to I use to run cmake: exec cmake -G Ninja \ -DLLVM_PARALLEL_LINK_JOBS=10 \ -DCMAKE_BUILD_TYPE=Debug \ -DLLVM_ENABLE_ASSERTIONS=On \ -DLLVM_ENABLE_EXPENSIVE_CHECKS=On \ -DLLVM_ENABLE_PROJECTS="clang" \ -- Kevin P. Neal http://www.pobox.com/~kpn/ "Good grief, I've just noticed I've typed in a rant. Sorry chaps!" Keir Finlow Bates, circa 1998
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ZiawqDWYfLqjYJtb>