driver.cpp revision 1eb4e64eed08837b85a375d6a953503daa844f07
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"
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