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

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

#include <Token.h>

Collaboration diagram for clang::PPConditionalInfo:
[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 305 of file Token.h.

Member Data Documentation

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 319 of file Token.h.

Referenced by clang::PreprocessorLexer::pushConditionalLevel().

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 315 of file Token.h.

Referenced by clang::PreprocessorLexer::pushConditionalLevel().

SourceLocation clang::PPConditionalInfo::IfLoc

Location where the conditional started.

Definition at line 307 of file Token.h.

Referenced by clang::PreprocessorLexer::pushConditionalLevel().

bool clang::PPConditionalInfo::WasSkipping

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

Definition at line 311 of file Token.h.

Referenced by clang::PreprocessorLexer::pushConditionalLevel().


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