driver.cpp revision 1b3bb6efc59a21f794b534078f9ae7e95393f510
13ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar//===-- driver.cpp - Clang GCC-Compatible Driver --------------------------===// 23ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar// 33ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar// The LLVM Compiler Infrastructure 43ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar// 53ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar// This file is distributed under the University of Illinois Open Source 63ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar// License. See LICENSE.TXT for details. 73ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar// 83ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar//===----------------------------------------------------------------------===// 93ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar// 101eb4e64eed08837b85a375d6a953503daa844f07Daniel Dunbar// This is the entry point to the clang driver; it is a thin wrapper 111eb4e64eed08837b85a375d6a953503daa844f07Daniel Dunbar// for functionality in the Driver clang library. 123ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar// 133ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar//===----------------------------------------------------------------------===// 143ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar 153ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar#include "clang/Driver/Compilation.h" 163ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar#include "clang/Driver/Driver.h" 172c6f6f3c170502c5b810102cf85f05732a2aa9d0Daniel Dunbar#include "clang/Driver/Option.h" 182c6f6f3c170502c5b810102cf85f05732a2aa9d0Daniel Dunbar#include "clang/Driver/Options.h" 192c6f6f3c170502c5b810102cf85f05732a2aa9d0Daniel Dunbar 203ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar#include "llvm/ADT/OwningPtr.h" 213ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar#include "llvm/System/Signals.h" 221b3bb6efc59a21f794b534078f9ae7e95393f510Daniel Dunbarusing namespace clang::driver; 233ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar 243ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbarint main(int argc, const char **argv) { 253ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar llvm::sys::PrintStackTraceOnErrorSignal(); 263ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar 273ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar llvm::OwningPtr<Driver> TheDriver(new Driver()); 283ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar 293ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar llvm::OwningPtr<Compilation> C(TheDriver->BuildCompilation(argc, argv)); 303ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar 313ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar return C->Execute(); 323ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar} 33