clang 20.0.0git
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"

Public Attributes

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

Detailed Description

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

Definition at line 325 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 339 of file Token.h.

Referenced by 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 335 of file Token.h.

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

◆ IfLoc

SourceLocation clang::PPConditionalInfo::IfLoc

Location where the conditional started.

Definition at line 327 of file Token.h.

Referenced by 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 331 of file Token.h.

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


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