- //===--- Utils.h - Misc utilities for the front-end -------------*- C++ -*-===// 
- // 
- // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 
- // See https://llvm.org/LICENSE.txt for license information. 
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 
- // 
- //===----------------------------------------------------------------------===// 
- // 
- //  This header contains miscellaneous utilities for various front-end actions 
- //  which were split from Frontend to minimise Frontend's dependencies. 
- // 
- //===----------------------------------------------------------------------===// 
-   
- #ifndef LLVM_CLANG_FRONTENDTOOL_UTILS_H 
- #define LLVM_CLANG_FRONTENDTOOL_UTILS_H 
-   
- #include <memory> 
-   
- namespace clang { 
-   
- class CompilerInstance; 
- class FrontendAction; 
-   
- /// Construct the FrontendAction of a compiler invocation based on the 
- /// options specified for the compiler invocation. 
- /// 
- /// \return - The created FrontendAction object 
- std::unique_ptr<FrontendAction> CreateFrontendAction(CompilerInstance &CI); 
-   
- /// ExecuteCompilerInvocation - Execute the given actions described by the 
- /// compiler invocation object in the given compiler instance. 
- /// 
- /// \return - True on success. 
- bool ExecuteCompilerInvocation(CompilerInstance *Clang); 
-   
- }  // end namespace clang 
-   
- #endif 
-