clang 22.0.0git
Preprocessor.h File Reference

Defines the clang::Preprocessor interface. More...

#include "clang/Basic/Diagnostic.h"
#include "clang/Basic/DiagnosticIDs.h"
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/Module.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/TokenKinds.h"
#include "clang/Lex/HeaderSearch.h"
#include "clang/Lex/Lexer.h"
#include "clang/Lex/MacroInfo.h"
#include "clang/Lex/ModuleLoader.h"
#include "clang/Lex/ModuleMap.h"
#include "clang/Lex/PPCallbacks.h"
#include "clang/Lex/PPEmbedParameters.h"
#include "clang/Lex/Token.h"
#include "clang/Lex/TokenLexer.h"
#include "clang/Support/Compiler.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/FunctionExtras.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/TinyPtrVector.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Registry.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <map>
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

class  clang::TokenValue
 Stores token information for comparing actual tokens with predefined values. More...
struct  clang::CXXStandardLibraryVersionInfo
class  clang::Preprocessor
 Engages in a tight little dance with the lexer to efficiently preprocess tokens. More...
struct  clang::Preprocessor::PreambleSkipInfo
class  clang::CommentHandler
 Abstract base class that describes a handler that will receive source ranges for each of the comments encountered in the source file. More...
class  clang::EmptylineHandler
 Abstract base class that describes a handler that will receive source ranges for empty lines encountered in the source file. More...
struct  clang::EmbedAnnotationData
 Helper class to shuttle information about #embed directives from the preprocessor to the parser through an annotation token. More...

Namespaces

namespace  llvm
 Diagnostic wrappers for TextAPI types for error reporting.
namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
namespace  clang::Builtin

Typedefs

using clang::PragmaHandlerRegistry = llvm::Registry<PragmaHandler>
 Registry of pragma handlers added by plugins.

Enumerations

enum  clang::MacroUse { clang::MU_Other = 0 , clang::MU_Define = 1 , clang::MU_Undef = 2 }
 Context in which macro name is used. More...
enum class  clang::EmbedResult { clang::Invalid = -1 , clang::NotFound = 0 , clang::Found = 1 , clang::Empty = 2 }

Variables

template class CLANG_TEMPLATE_ABI llvm::Registry< clang::PragmaHandler >

Detailed Description

Defines the clang::Preprocessor interface.

Definition in file Preprocessor.h.