<div dir="ltr">Hello,<div><br></div><div>I was trying to compile a simple program with the CppBackend like so:</div><div><br></div><div>$ clang str_arg.c -emit-llvm -S</div><div>$ llc -march=cpp str_arg.ll</div><div><br></div><div>It produces a file `str_arg.cpp` as expected, however it doesn't seem that the resulting file is correct. For once, it includes `<llvm/Analysis/Verifier.h>` which seems to have been moved to `llvm/IR/Verifier.h` as far back as 2013.</div><div><br></div><div>My question is this: is the CppBackend supposed to work? If so, what am I missing?</div><div><br></div><div>Listing of str_arg.c:</div><div><br></div><div><div>    #include <stdio.h></div><div>    </div><div>    void i(unsigned index, char *string) {</div><div>      printf("%d %s\n", index, string);</div><div>    }</div><div>    <br></div><div>    int main() {</div><div>      i(10, "foo");</div><div>      return 0;</div><div>    }</div></div><div><br></div><div>clang version:</div><div><br></div><div><div>    clang version 3.7.1 (<a href="http://llvm.org/git/clang.git">http://llvm.org/git/clang.git</a> 0dbefa1b83eb90f7a06b5df5df254ce32be3db4b) (<a href="http://llvm.org/git/llvm.git">http://llvm.org/git/llvm.git</a> 33c352b3eda89abc24e7511d9045fa2e499a42e3)</div><div>    Target: x86_64-unknown-linux-gnu</div><div>    Thread model: posix</div></div><div><br></div><div>llc version:</div><div><br></div><div><div>    LLVM (<a href="http://llvm.org/">http://llvm.org/</a>):</div><div>      LLVM version 3.7.1</div><div>      Optimized build.</div><div>      Built Apr  4 2016 (15:04:44).</div><div>      Default target: x86_64-unknown-linux-gnu</div><div>      Host CPU: ivybridge</div><div>    <br></div><div>      Registered Targets:</div><div>        aarch64    - AArch64 (little endian)</div><div>        aarch64_be - AArch64 (big endian)</div><div>        amdgcn     - AMD GCN GPUs</div><div>        arm        - ARM</div><div>        arm64      - ARM64 (little endian)</div><div>        armeb      - ARM (big endian)</div><div>        bpf        - BPF (host endian)</div><div>        bpfeb      - BPF (big endian)</div><div>        bpfel      - BPF (little endian)</div><div>        cpp        - C++ backend</div><div>        hexagon    - Hexagon</div><div>        mips       - Mips</div><div>        mips64     - Mips64 [experimental]</div><div>        mips64el   - Mips64el [experimental]</div><div>        mipsel     - Mipsel</div><div>        msp430     - MSP430 [experimental]</div><div>        nvptx      - NVIDIA PTX 32-bit</div><div>        nvptx64    - NVIDIA PTX 64-bit</div><div>        ppc32      - PowerPC 32</div><div>        ppc64      - PowerPC 64</div><div>        ppc64le    - PowerPC 64 LE</div><div>        r600       - AMD GPUs HD2XXX-HD6XXX</div><div>        sparc      - Sparc</div><div>        sparcel    - Sparc LE</div><div>        sparcv9    - Sparc V9</div><div>        systemz    - SystemZ</div><div>        thumb      - Thumb</div><div>        thumbeb    - Thumb (big endian)</div><div>        x86        - 32-bit X86: Pentium-Pro and above</div><div>        x86-64     - 64-bit X86: EM64T and AMD64</div><div>        xcore      - XCore</div></div><div><br></div><div>Kind regards,</div><div> - Stan</div><div><br></div></div>