clang  6.0.0svn
Public Attributes | List of all members
clang::PPConditionalInfo Struct Reference

Information about the conditional stack (#if directives) currently active. More...

#include "clang/Lex/Token.h"

Collaboration diagram for clang::PPConditionalInfo:
Collaboration graph
[legend]

Public Attributes

SourceLocation IfLoc
 Location where the conditional started. More...
 
bool WasSkipping
 True if this was contained in a skipping directive, e.g., in a "\#if 0" block. More...
 
bool FoundNonSkip
 True if we have emitted tokens already, and now we're in an #else block or something. More...
 
bool FoundElse
 True if we've seen a #else in this block. More...
 

Detailed Description

Information about the conditional stack (#if directives) currently active.

Definition at line 313 of file Token.h.

Member Data Documentation

◆ FoundElse

bool clang::PPConditionalInfo::FoundElse

True if we've seen a #else in this block.

If so, #elif/#else directives are not allowed.

Definition at line 327 of file Token.h.

Referenced by clang::Preprocessor::CheckEndOfDirective(), isConfigurationPattern(), and clang::PreprocessorLexer::pushConditionalLevel().

◆ FoundNonSkip

bool clang::PPConditionalInfo::FoundNonSkip

True if we have emitted tokens already, and now we're in an #else block or something.

Only useful in Skipping blocks.

Definition at line 323 of file Token.h.

Referenced by clang::Preprocessor::CheckEndOfDirective(), isConfigurationPattern(), and clang::PreprocessorLexer::pushConditionalLevel().

◆ IfLoc

SourceLocation clang::PPConditionalInfo::IfLoc

Location where the conditional started.

Definition at line 315 of file Token.h.

Referenced by clang::Preprocessor::CheckEndOfDirective(), isConfigurationPattern(), and clang::PreprocessorLexer::pushConditionalLevel().

◆ WasSkipping

bool clang::PPConditionalInfo::WasSkipping

True if this was contained in a skipping directive, e.g., in a "\#if 0" block.

Definition at line 319 of file Token.h.

Referenced by clang::Preprocessor::CheckEndOfDirective(), isConfigurationPattern(), and clang::PreprocessorLexer::pushConditionalLevel().


The documentation for this struct was generated from the following file: