Setting target to 64 bits

Hello List,

I've built llvm/clang 3.2 for target architecture x86 only by specifying
LLVM_TARGETS_TO_BUILD=X86 . I then proceeded to write a program based on
clang to parse a source file. Unfortunately the diagnostics are
outputting the error,

  /usr/include/x86_64-linux-gnu/gnu/stubs.h:7:11: fatal error: 'gnu/
stubs-32.h' file not found

stubs-32.h is included by stubs.h when the word size is 32 bits.

How can I set the target options to 64 bits?

Currently doing:

    llvm::IntrusiveRefCntPtr<TargetOptions> pto(new TargetOptions());
    pto->Triple = llvm::sys::getDefaultTargetTriple();

    std::cout << pto->Triple << std::endl;
    
    TargetInfo *pti = TargetInfo::CreateTargetInfo(ci.getDiagnostics(),
*pto);
    ci.setTarget(pti);

The contents of pto->Triple are,

  x86_64-unknown-linux-gnu

My system is 64 bits,

  Linux 3.5.0-28-generic SMP x86_64 x86_64 x86_64 GNU/Linux

Also, `llc --version' gives:

$ llc --version
LLVM (http://llvm.org/):
  LLVM version 3.2svn
  Optimized build.
  Built Apr 19 2013 (12:05:39).
  Default target: x86_64-unknown-linux-gnu
  Host CPU: corei7

  Registered Targets:
    x86 - 32-bit X86: Pentium-Pro and above
    x86-64 - 64-bit X86: EM64T and AMD64