clang
20.0.0git
include
clang
Frontend
Utils.h
Go to the documentation of this file.
1
//===- Utils.h - Misc utilities for the front-end ---------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// This header contains miscellaneous utilities for various front-end actions.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef LLVM_CLANG_FRONTEND_UTILS_H
14
#define LLVM_CLANG_FRONTEND_UTILS_H
15
16
#include "
clang/Basic/Diagnostic.h
"
17
#include "
clang/Basic/LLVM.h
"
18
#include "
clang/Driver/OptionUtils.h
"
19
#include "
clang/Frontend/DependencyOutputOptions.h
"
20
#include "llvm/ADT/ArrayRef.h"
21
#include "llvm/ADT/IntrusiveRefCntPtr.h"
22
#include "llvm/ADT/StringMap.h"
23
#include "llvm/ADT/StringRef.h"
24
#include "llvm/ADT/StringSet.h"
25
#include "llvm/Support/FileCollector.h"
26
#include "llvm/Support/VirtualFileSystem.h"
27
#include <cstdint>
28
#include <memory>
29
#include <string>
30
#include <system_error>
31
#include <utility>
32
#include <vector>
33
34
namespace
clang
{
35
36
class
ASTReader;
37
class
CompilerInstance;
38
class
CompilerInvocation;
39
class
DiagnosticsEngine;
40
class
ExternalSemaSource;
41
class
FrontendOptions;
42
class
PCHContainerReader;
43
class
Preprocessor;
44
class
PreprocessorOptions;
45
class
PreprocessorOutputOptions;
46
class
CodeGenOptions;
47
48
/// InitializePreprocessor - Initialize the preprocessor getting it and the
49
/// environment ready to process a single file.
50
void
InitializePreprocessor
(Preprocessor &PP,
const
PreprocessorOptions &PPOpts,