#include "clang/Frontend/FrontendActions.h"
#include "clang/AST/ASTConsumer.h"
#include "clang/Basic/FileManager.h"
#include "clang/Frontend/ASTConsumers.h"
#include "clang/Frontend/ASTUnit.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/Frontend/FrontendDiagnostic.h"
#include "clang/Frontend/MultiplexConsumer.h"
#include "clang/Frontend/Utils.h"
#include "clang/Lex/HeaderSearch.h"
#include "clang/Lex/Pragma.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Parse/Parser.h"
#include "clang/Serialization/ASTReader.h"
#include "clang/Serialization/ASTWriter.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/raw_ostream.h"
#include <memory>
#include <system_error>
#include "clang/Basic/LangOptions.def"
#include "clang/Basic/DiagnosticOptions.def"
Go to the source code of this file.
|
#define | DUMP_BOOLEAN(Value, Text) Out.indent(4) << Text << ": " << (Value? "Yes" : "No") << "\n" |
|
#define | LANGOPT(Name, Bits, Default, Description) DUMP_BOOLEAN(LangOpts.Name, Description); |
|
#define | ENUM_LANGOPT(Name, Type, Bits, Default, Description) |
|
#define | VALUE_LANGOPT(Name, Bits, Default, Description) Out.indent(4) << Description << ": " << LangOpts.Name << "\n"; |
|
#define | BENIGN_LANGOPT(Name, Bits, Default, Description) |
|
#define | BENIGN_ENUM_LANGOPT(Name, Type, Bits, Default, Description) |
|
#define | DIAGOPT(Name, Bits, Default) DUMP_BOOLEAN(DiagOpts->Name, #Name); |
|
#define | ENUM_DIAGOPT(Name, Type, Bits, Default) Out.indent(4) << #Name << ": " << DiagOpts->get##Name() << "\n"; |
|
#define | VALUE_DIAGOPT(Name, Bits, Default) Out.indent(4) << #Name << ": " << DiagOpts->Name << "\n"; |
|
#define BENIGN_ENUM_LANGOPT |
( |
|
Name, |
|
|
|
Type, |
|
|
|
Bits, |
|
|
|
Default, |
|
|
|
Description |
|
) |
| |
#define BENIGN_LANGOPT |
( |
|
Name, |
|
|
|
Bits, |
|
|
|
Default, |
|
|
|
Description |
|
) |
| |
#define DIAGOPT |
( |
|
Name, |
|
|
|
Bits, |
|
|
|
Default |
|
) |
| DUMP_BOOLEAN(DiagOpts->Name, #Name); |
#define DUMP_BOOLEAN |
( |
|
Value, |
|
|
|
Text |
|
) |
| Out.indent(4) << Text << ": " << (Value? "Yes" : "No") << "\n" |
#define ENUM_DIAGOPT |
( |
|
Name, |
|
|
|
Type, |
|
|
|
Bits, |
|
|
|
Default |
|
) |
| Out.indent(4) << #Name << ": " << DiagOpts->get##Name() << "\n"; |
#define ENUM_LANGOPT |
( |
|
Name, |
|
|
|
Type, |
|
|
|
Bits, |
|
|
|
Default, |
|
|
|
Description |
|
) |
| |
Value:Out.indent(4) << Description << ": " \
<< static_cast<unsigned>(LangOpts.get##Name()) << "\n";
#define LANGOPT |
( |
|
Name, |
|
|
|
Bits, |
|
|
|
Default, |
|
|
|
Description |
|
) |
| DUMP_BOOLEAN(LangOpts.Name, Description); |
#define VALUE_DIAGOPT |
( |
|
Name, |
|
|
|
Bits, |
|
|
|
Default |
|
) |
| Out.indent(4) << #Name << ": " << DiagOpts->Name << "\n"; |
#define VALUE_LANGOPT |
( |
|
Name, |
|
|
|
Bits, |
|
|
|
Default, |
|
|
|
Description |
|
) |
| Out.indent(4) << Description << ": " << LangOpts.Name << "\n"; |
static std::error_code addHeaderInclude |
( |
StringRef |
HeaderName, |
|
|
SmallVectorImpl< char > & |
Includes, |
|
|
const LangOptions & |
LangOpts, |
|
|
bool |
IsExternC |
|
) |
| |
|
static |
Collect the set of header includes needed to construct the given module and update the TopHeaders file set of the module.
- Parameters
-
Module | The module we're collecting includes from. |
Includes | Will be augmented with the set of #includes or #imports needed to load all of the named headers. |
Definition at line 182 of file Frontend/FrontendActions.cpp.
References addHeaderInclude(), clang::Module::addTopHeader(), End, clang::FileManager::getFile(), clang::Module::getUmbrellaDir(), clang::Module::getUmbrellaHeader(), clang::Module::Headers, clang::Module::HK_Normal, clang::Module::isAvailable(), clang::Module::IsExternC, clang::ModuleMap::isHeaderUnavailableInModule(), clang::Module::Parent, clang::Module::submodule_begin(), and clang::Module::submodule_end().
Referenced by clang::GenerateModuleAction::BeginSourceFileAction().
static SmallVectorImpl<char>& operator+= |
( |
SmallVectorImpl< char > & |
Includes, |
|
|
StringRef |
RHS |
|
) |
| |
|
static |