<div dir="ltr">Hi Mark,<div><br></div><div>Lots of gems in here! I think this could become an LLVM Blog post... Can you write something?</div><div><br></div><div>cheers,</div><div>--renato</div><div><br></div><div>PS: Apple didn&#39;t write the ARM64 back-end, Tim Northover from ARM did (single-handed). He&#39;s now at Apple, but not at the time.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On 20 September 2013 22:13, Mark Charlebois <span dir="ltr">&lt;<a href="mailto:charlebm@gmail.com" target="_blank">charlebm@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(255,227,227);padding-top:0px;padding-bottom:1px"><b>Here are the notes from the LPC LLVM Microconference:</b></span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(255,227,227);padding-top:0px;padding-bottom:1px"><b><br>
</b></span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(255,227,227);padding-top:0px;padding-bottom:1px"><b>Linux Plumbers Conference 2013</b></span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(255,227,227);padding-top:0px;padding-bottom:1px"><b>LLVM Microconference</b></span></div>
<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(255,254,223);padding-top:0px;padding-bottom:1px">1. The unified x86 tree and clang</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Question: What assember is being used</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Answer: Not using IA, using gas</span></div>
<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Question: Why does clang need to be updated so it can guess the length if using gas</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Answer: clang is creating the assembly from the inline assembly</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Comment from Linus: (Linux) Did not want to overspecify things and generate worse code - LLVM fixed the issue</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Current aproach to working around named registers adds a move, push and pop. Will likely need to add the ability to clang to get the SP directly for an optimal solution</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Question: Have you tried to build with ALL options on?</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Answer: llvmlinux website shows the broken kernel options</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Question: Are all the issues in assembly or are they in C code as well</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Answer: There are issues in C as well: order of declaration of attributes, VLAIS, use of builtin_constant_p, explicit register variables, etc</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(238,230,255);padding-top:0px;padding-bottom:1px">Question: Where are the kernel patches that are required at the moment?</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<span style="background-color:rgb(238,230,255);padding-top:0px;padding-bottom:1px">git://<a href="http://git.linuxfoundation.org/llvmlinux/kernel.git" target="_blank">git.linuxfoundation.org/llvmlinux/kernel.git</a> ?</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">2. Using the Clang Inegrated Assembler to Compile the Linux Kernel</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Need to investigate whether ambiguous inline x86 assembly issues is fixed or not</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Comment from Linus: Clang can be fixed because bit operations have known semantics unlike the add case</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Question: What about on big endian? Bit ops may need to be explicitly specified</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Answer (Linus): Yes, it would have to be explicitly specified</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">3. Variable Length Array&#39;s in Structs (VLAIS)</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">Question: What about flexible arrays.</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">Answer: They&#39;re supported, but </span><span style="background-color:rgb(227,243,255);padding-top:0px;padding-bottom:1px">only </span><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">at the end of the structure.</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(227,243,255);padding-top:0px;padding-bottom:1px">Netfilter code uses them at different places extensively, needs to be fixed</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">Suggestion: Enable separate warning for this case.</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">Question: For certain archs char sdesc needs to be aligned. </span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">Answer:  CRYPTO_MINALIGN_ATTR is used.</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">Q: Do you allow VLA outside of the struct.</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">A: That&#39;s what we did in one of the patches.</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">Q: Netfilter: why not move &quot;term&quot; up and make it a flexible member.</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">A: Unfortunately the placement of &quot;term&quot; is a userspace thing.</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">Linus: Oh, that&#39;s bad! Let&#39;s fix netfilter!</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">Note: use of this constructs is spreading (c&#39;n&#39;p)</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">- Bluetooth, Filesystems and so on.</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">Configfs / Gadget :  </span><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Gadget developer</span><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px"> liked patch - going to take it.</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">Q: Sounds like convincing gcc ppl to accept a warning - what about sparse ?</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">A: Sparse chokes on it atm.</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">Note: Argument for gcc: as it is not supported - create a warning.</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">4.  Compiling Android Userland with clang</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Comment (Bryce): Using -std=C++11 is preferable</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Response (Bero): Want to balance correctness with upstreamability</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Comment: C++14 add support for variable length arrays</span><span style="background-color:rgb(255,254,223);padding-top:0px;padding-bottom:1px"> of non-POD elements</span><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">, should keep the code as is</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Look at whether clang has issues complaining about uninitialized variables after no-return paths (i.e. abort)</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Question (Zach): Can clang built libs work with gcc built libs?</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Answer: Yes, done in std android with libpng</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Comment (Bryce): Can be an issue with Glibc </span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Bero: GCC 4.8 can compile libc++, but app using it will </span><span style="background-color:rgb(255,254,223);padding-top:0px;padding-bottom:1px">crash</span><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px"> on locale</span><span style="background-color:rgb(255,254,223);padding-top:0px;padding-bottom:1px"> facets</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">5. Building the Linux Kernel </span><span style="background-color:rgb(255,254,223);padding-top:0px;padding-bottom:1px">and </span><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">User space for the Hexagon DSP with LLVM</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Question (Zach): Why use LLVM vs GCC</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Answer (Anshu): Can add optimizations for customers months sooner than could be done with GCC</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Comments (Bill): If you are going to support a new achitecture today, LLVM/clang is the best choice. DSP devs are more interested in becoming experts in LLVM vs other compiler code bases</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Question (Pavel): What tests can/should be used to compare performance with different flags, compiler, etc. Usually people run some benchmark tests</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Answer (Zach): Try Michael Hope (now at Google)</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Comment (Bill): Linaro has LAVA to track performance over time. Yocto project is also looking at test infrastructure</span></div>
<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Question: Where is the best place for info to get started working on LLVM (for a new arch)</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Answer (Bryce): Mailing list, look at what Apple did for </span><span style="background-color:rgb(227,243,255);padding-top:0px;padding-bottom:1px">ARM </span><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">64bit</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Answer (Anshu): Oly took a few weeks to get up and running, look at Hexagon implementation upstream</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">6. Rebuilding debian with LLVM/Clang</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">-Werror - use wrapper and  -Werror -Wno-error=foo</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">Q: Are the packages all built with clang (or perl/python)</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">A: there&#39;s no way to differ the compiler or perl/python is used. Thus the number is all packages.</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">Q: Do you install the build-results into the build-chroot ?</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(217,255,248);padding-top:0px;padding-bottom:1px">A: not yet. </span></div>
<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">7. Linux and the LLVM Static Analyzer</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Comment: Something desirable from llvm tools would be a scan-build like browser for looking at the registered handlers for the kernel driver interfaces</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Comment: Documentation (on how to use scan-build) would be really helpful</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Question: How do you invoke scan-build</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Answer (Eduard): More or less &quot;scan-build make ...&quot;</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Question: C interface for the checkers?</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">

<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Answer: Not likely</span></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Question: Seems that you have to use the same compiler to create the checkers as to build scan-build/llvm?</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">Answer (Bryce): Is doing something similar to what clang is doing and it does work across Linux and Windows</span></div>

<div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif"><br></div><div style="padding-right:1px;line-height:17px;font-size:13px;font-family:Arial,sans-serif">
<span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px">For scan-build you need a newer version of clang than the pre-packaged version on <a href="http://llvm.org" target="_blank">llvm.org</a></span></div>

<div><span style="background-color:rgb(203,255,179);padding-top:0px;padding-bottom:1px"><br></span></div></div>
<br>_______________________________________________<br>
LLVMLinux mailing list<br>
<a href="mailto:LLVMLinux@lists.linuxfoundation.org">LLVMLinux@lists.linuxfoundation.org</a><br>
<a href="https://lists.linuxfoundation.org/mailman/listinfo/llvmlinux" target="_blank">https://lists.linuxfoundation.org/mailman/listinfo/llvmlinux</a><br></blockquote></div><br></div>