clang API Documentation

Classes | Enumerations | Functions
clang::SrcMgr Namespace Reference

Public enums and private classes that are part of the SourceManager implementation. More...

Classes

class  ContentCache
 One instance of this struct is kept for every file loaded or used. More...
class  FileInfo
 Information about a FileID, basically just the logical file that it represents and include stack information. More...
class  ExpansionInfo
 Each ExpansionInfo encodes the expansion location - where the token was ultimately expanded, and the SpellingLoc - where the actual character data for the token came from. More...
class  SLocEntry
 This is a discriminated union of FileInfo and ExpansionInfo. More...

Enumerations

enum  CharacteristicKind { C_User, C_System, C_ExternCSystem }
 Indicates whether a file or directory holds normal user code, system code, or system code which is implicitly 'extern "C"' in C++ mode. More...

Functions

 static_assert (llvm::AlignOf< ContentCache >::Alignment >=8,"ContentCache must be 8-byte aligned.")

Detailed Description

Public enums and private classes that are part of the SourceManager implementation.


Enumeration Type Documentation

Indicates whether a file or directory holds normal user code, system code, or system code which is implicitly 'extern "C"' in C++ mode.

Entire directories can be tagged with this (this is maintained by DirectoryLookup and friends) as can specific FileInfos when a #pragma system_header is seen or in various other cases.

Enumerator:
C_User 
C_System 
C_ExternCSystem 

Definition at line 78 of file SourceManager.h.


Function Documentation

clang::SrcMgr::static_assert ( llvm::AlignOf< ContentCache >::Alignment >=  8,
"ContentCache must be 8-byte aligned."   
)