driver.cpp revision 3ede8d0a7d1813f678ccc6011a99a0834b1b6116
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// 103ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar// This is the entry point to the clang driver; it is a thin 113ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar// wrapper 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" 173ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar#include "llvm/ADT/OwningPtr.h" 183ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar#include "llvm/System/Signals.h" 193ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbarusing namespace clang; 203ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar 213ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbarint main(int argc, const char **argv) { 223ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar llvm::sys::PrintStackTraceOnErrorSignal(); 233ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar 243ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar llvm::OwningPtr<Driver> TheDriver(new Driver()); 253ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar 263ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar llvm::OwningPtr<Compilation> C(TheDriver->BuildCompilation(argc, argv)); 273ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar 283ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar return C->Execute(); 293ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar} 30