Static src analysis of LibreOffice

Stephan Bergmann sbergman at redhat.com
Tue Aug 7 02:52:25 PDT 2012


On 08/07/2012 10:40 AM, John Smith wrote:
> It's not clang/clang++ that is executed here: it's the
> ccc-analyzer/c++-analyzer. It sits in front of the compiler you use,
> which is still GCC in this case. After ccc-analyzer/c++-analyzer is
> done with the analysis, it passes all parameters and arguments to the
> actual compiler (GCC), which then proceeds to compile the code as
> usual. Im guessing your fix is trying to detect which compiler is
> used, and thats still (as it is intended) GCC, but doesnt notice the
> analyzer sitting in front of it (again, as intended) . Since none of
> the llvm/clang parts support the __float128 type, the error is still
> produced by ccc-analyzer/c++-analyzer.
>
> If you can try 'scan-build ./configure && scan-build make' on the
> LibreOffice code, you should be able to reproduce it.

So you should probably change that to just "scan-build make" (as LO's 
default make target automatically calls ./autogen.sh, which in turn 
calls ./configure, as necessary), which would hopefully lead to LO's 
./configure seeing a CXX that is the actual scan-build "fake compiler," 
which would in turn hopefully lead to the detection that -std=gnu++11 
does not work kicking in (as at least the static analyzer part of the 
fake compiler would fail on #include <vector>, even if the gcc part 
succeeded).

Stephan


More information about the LibreOffice mailing list