Fix style in the preprocessor.

Again using git cl format.

BUG=angleproject:650

Change-Id: I8898d00bfc6a50db50bffd2cc30c3eda7c08c6c2
Reviewed-on: https://chromium-review.googlesource.com/419097
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/compiler/preprocessor/DirectiveParser.cpp b/src/compiler/preprocessor/DirectiveParser.cpp
index a268c80..b366a32 100644
--- a/src/compiler/preprocessor/DirectiveParser.cpp
+++ b/src/compiler/preprocessor/DirectiveParser.cpp
@@ -18,7 +18,8 @@
 #include "compiler/preprocessor/Token.h"
 #include "compiler/preprocessor/Tokenizer.h"
 
-namespace {
+namespace
+{
 enum DirectiveType
 {
     DIRECTIVE_NONE,
@@ -39,19 +40,19 @@
 
 DirectiveType getDirective(const pp::Token *token)
 {
-    const char kDirectiveDefine[] = "define";
-    const char kDirectiveUndef[] = "undef";
-    const char kDirectiveIf[] = "if";
-    const char kDirectiveIfdef[] = "ifdef";
-    const char kDirectiveIfndef[] = "ifndef";
-    const char kDirectiveElse[] = "else";
-    const char kDirectiveElif[] = "elif";
-    const char kDirectiveEndif[] = "endif";
-    const char kDirectiveError[] = "error";
-    const char kDirectivePragma[] = "pragma";
+    const char kDirectiveDefine[]    = "define";
+    const char kDirectiveUndef[]     = "undef";
+    const char kDirectiveIf[]        = "if";
+    const char kDirectiveIfdef[]     = "ifdef";
+    const char kDirectiveIfndef[]    = "ifndef";
+    const char kDirectiveElse[]      = "else";
+    const char kDirectiveElif[]      = "elif";
+    const char kDirectiveEndif[]     = "endif";
+    const char kDirectiveError[]     = "error";
+    const char kDirectivePragma[]    = "pragma";
     const char kDirectiveExtension[] = "extension";
-    const char kDirectiveVersion[] = "version";
-    const char kDirectiveLine[] = "line";
+    const char kDirectiveVersion[]   = "version";
+    const char kDirectiveLine[]      = "line";
 
     if (token->type != pp::Token::IDENTIFIER)
         return DIRECTIVE_NONE;
@@ -90,15 +91,15 @@
 {
     switch (directive)
     {
-      case DIRECTIVE_IF:
-      case DIRECTIVE_IFDEF:
-      case DIRECTIVE_IFNDEF:
-      case DIRECTIVE_ELSE:
-      case DIRECTIVE_ELIF:
-      case DIRECTIVE_ENDIF:
-        return true;
-      default:
-        return false;
+        case DIRECTIVE_IF:
+        case DIRECTIVE_IFDEF:
+        case DIRECTIVE_IFNDEF:
+        case DIRECTIVE_ELSE:
+        case DIRECTIVE_ELIF:
+        case DIRECTIVE_ENDIF:
+            return true;
+        default:
+            return false;
     }
 }
 
@@ -110,7 +111,7 @@
 
 void skipUntilEOD(pp::Lexer *lexer, pp::Token *token)
 {
-    while(!isEOD(token))
+    while (!isEOD(token))
     {
         lexer->lex(token);
     }
@@ -127,8 +128,7 @@
     return (name.find("__") != std::string::npos);
 }
 
-bool isMacroPredefined(const std::string &name,
-                       const pp::MacroSet &macroSet)
+bool isMacroPredefined(const std::string &name, const pp::MacroSet &macroSet)
 {
     pp::MacroSet::const_iterator iter = macroSet.find(name);
     return iter != macroSet.end() ? iter->second.predefined : false;
@@ -236,14 +236,13 @@
             if (!mConditionalStack.empty())
             {
                 const ConditionalBlock &block = mConditionalStack.back();
-                mDiagnostics->report(Diagnostics::PP_CONDITIONAL_UNTERMINATED,
-                                     block.location, block.type);
+                mDiagnostics->report(Diagnostics::PP_CONDITIONAL_UNTERMINATED, block.location,
+                                     block.type);
             }
             break;
         }
 
-    }
-    while (skipping() || (token->type == '\n'));
+    } while (skipping() || (token->type == '\n'));
 
     mPastFirstStatement = true;
 }
@@ -269,62 +268,61 @@
         return;
     }
 
-    switch(directive)
+    switch (directive)
     {
-      case DIRECTIVE_NONE:
-        mDiagnostics->report(Diagnostics::PP_DIRECTIVE_INVALID_NAME,
-                             token->location, token->text);
-        skipUntilEOD(mTokenizer, token);
-        break;
-      case DIRECTIVE_DEFINE:
-        parseDefine(token);
-        break;
-      case DIRECTIVE_UNDEF:
-        parseUndef(token);
-        break;
-      case DIRECTIVE_IF:
-        parseIf(token);
-        break;
-      case DIRECTIVE_IFDEF:
-        parseIfdef(token);
-        break;
-      case DIRECTIVE_IFNDEF:
-        parseIfndef(token);
-        break;
-      case DIRECTIVE_ELSE:
-        parseElse(token);
-        break;
-      case DIRECTIVE_ELIF:
-        parseElif(token);
-        break;
-      case DIRECTIVE_ENDIF:
-        parseEndif(token);
-        break;
-      case DIRECTIVE_ERROR:
-        parseError(token);
-        break;
-      case DIRECTIVE_PRAGMA:
-        parsePragma(token);
-        break;
-      case DIRECTIVE_EXTENSION:
-        parseExtension(token);
-        break;
-      case DIRECTIVE_VERSION:
-        parseVersion(token);
-        break;
-      case DIRECTIVE_LINE:
-        parseLine(token);
-        break;
-      default:
-          UNREACHABLE();
-          break;
+        case DIRECTIVE_NONE:
+            mDiagnostics->report(Diagnostics::PP_DIRECTIVE_INVALID_NAME, token->location,
+                                 token->text);
+            skipUntilEOD(mTokenizer, token);
+            break;
+        case DIRECTIVE_DEFINE:
+            parseDefine(token);
+            break;
+        case DIRECTIVE_UNDEF:
+            parseUndef(token);
+            break;
+        case DIRECTIVE_IF:
+            parseIf(token);
+            break;
+        case DIRECTIVE_IFDEF:
+            parseIfdef(token);
+            break;
+        case DIRECTIVE_IFNDEF:
+            parseIfndef(token);
+            break;
+        case DIRECTIVE_ELSE:
+            parseElse(token);
+            break;
+        case DIRECTIVE_ELIF:
+            parseElif(token);
+            break;
+        case DIRECTIVE_ENDIF:
+            parseEndif(token);
+            break;
+        case DIRECTIVE_ERROR:
+            parseError(token);
+            break;
+        case DIRECTIVE_PRAGMA:
+            parsePragma(token);
+            break;
+        case DIRECTIVE_EXTENSION:
+            parseExtension(token);
+            break;
+        case DIRECTIVE_VERSION:
+            parseVersion(token);
+            break;
+        case DIRECTIVE_LINE:
+            parseLine(token);
+            break;
+        default:
+            UNREACHABLE();
+            break;
     }
 
     skipUntilEOD(mTokenizer, token);
     if (token->type == Token::LAST)
     {
-        mDiagnostics->report(Diagnostics::PP_EOF_IN_DIRECTIVE,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_EOF_IN_DIRECTIVE, token->location, token->text);
     }
 }
 
@@ -335,20 +333,18 @@
     mTokenizer->lex(token);
     if (token->type != Token::IDENTIFIER)
     {
-        mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN, token->location, token->text);
         return;
     }
     if (isMacroPredefined(token->text, *mMacroSet))
     {
-        mDiagnostics->report(Diagnostics::PP_MACRO_PREDEFINED_REDEFINED,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_MACRO_PREDEFINED_REDEFINED, token->location,
+                             token->text);
         return;
     }
     if (isMacroNameReserved(token->text))
     {
-        mDiagnostics->report(Diagnostics::PP_MACRO_NAME_RESERVED,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_MACRO_NAME_RESERVED, token->location, token->text);
         return;
     }
     // Using double underscores is allowed, but may result in unintended
@@ -377,7 +373,8 @@
             if (token->type != Token::IDENTIFIER)
                 break;
 
-            if (std::find(macro.parameters.begin(), macro.parameters.end(), token->text) != macro.parameters.end())
+            if (std::find(macro.parameters.begin(), macro.parameters.end(), token->text) !=
+                macro.parameters.end())
             {
                 mDiagnostics->report(Diagnostics::PP_MACRO_DUPLICATE_PARAMETER_NAMES,
                                      token->location, token->text);
@@ -387,14 +384,11 @@
             macro.parameters.push_back(token->text);
 
             mTokenizer->lex(token);  // Get ','.
-        }
-        while (token->type == ',');
+        } while (token->type == ',');
 
         if (token->type != ')')
         {
-            mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN,
-                                 token->location,
-                                 token->text);
+            mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN, token->location, token->text);
             return;
         }
         mTokenizer->lex(token);  // Get ')'.
@@ -420,9 +414,7 @@
     MacroSet::const_iterator iter = mMacroSet->find(macro.name);
     if (iter != mMacroSet->end() && !macro.equals(iter->second))
     {
-        mDiagnostics->report(Diagnostics::PP_MACRO_REDEFINED,
-                             token->location,
-                             macro.name);
+        mDiagnostics->report(Diagnostics::PP_MACRO_REDEFINED, token->location, macro.name);
         return;
     }
     mMacroSet->insert(std::make_pair(macro.name, macro));
@@ -435,8 +427,7 @@
     mTokenizer->lex(token);
     if (token->type != Token::IDENTIFIER)
     {
-        mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN, token->location, token->text);
         return;
     }
 
@@ -445,8 +436,8 @@
     {
         if (iter->second.predefined)
         {
-            mDiagnostics->report(Diagnostics::PP_MACRO_PREDEFINED_UNDEFINED,
-                                 token->location, token->text);
+            mDiagnostics->report(Diagnostics::PP_MACRO_PREDEFINED_UNDEFINED, token->location,
+                                 token->text);
             return;
         }
         else if (iter->second.expansionCount > 0)
@@ -464,8 +455,7 @@
     mTokenizer->lex(token);
     if (!isEOD(token))
     {
-        mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN, token->location, token->text);
         skipUntilEOD(mTokenizer, token);
     }
 }
@@ -494,8 +484,8 @@
 
     if (mConditionalStack.empty())
     {
-        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_ELSE_WITHOUT_IF,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_ELSE_WITHOUT_IF, token->location,
+                             token->text);
         skipUntilEOD(mTokenizer, token);
         return;
     }
@@ -509,22 +499,22 @@
     }
     if (block.foundElseGroup)
     {
-        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_ELSE_AFTER_ELSE,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_ELSE_AFTER_ELSE, token->location,
+                             token->text);
         skipUntilEOD(mTokenizer, token);
         return;
     }
 
-    block.foundElseGroup = true;
-    block.skipGroup = block.foundValidGroup;
+    block.foundElseGroup  = true;
+    block.skipGroup       = block.foundValidGroup;
     block.foundValidGroup = true;
 
     // Check if there are extra tokens after #else.
     mTokenizer->lex(token);
     if (!isEOD(token))
     {
-        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_UNEXPECTED_TOKEN,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_UNEXPECTED_TOKEN, token->location,
+                             token->text);
         skipUntilEOD(mTokenizer, token);
     }
 }
@@ -535,8 +525,8 @@
 
     if (mConditionalStack.empty())
     {
-        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_ELIF_WITHOUT_IF,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_ELIF_WITHOUT_IF, token->location,
+                             token->text);
         skipUntilEOD(mTokenizer, token);
         return;
     }
@@ -550,8 +540,8 @@
     }
     if (block.foundElseGroup)
     {
-        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_ELIF_AFTER_ELSE,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_ELIF_AFTER_ELSE, token->location,
+                             token->text);
         skipUntilEOD(mTokenizer, token);
         return;
     }
@@ -564,8 +554,8 @@
         return;
     }
 
-    int expression = parseExpressionIf(token);
-    block.skipGroup = expression == 0;
+    int expression        = parseExpressionIf(token);
+    block.skipGroup       = expression == 0;
     block.foundValidGroup = expression != 0;
 }
 
@@ -575,8 +565,8 @@
 
     if (mConditionalStack.empty())
     {
-        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_ENDIF_WITHOUT_IF,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_ENDIF_WITHOUT_IF, token->location,
+                             token->text);
         skipUntilEOD(mTokenizer, token);
         return;
     }
@@ -587,8 +577,8 @@
     mTokenizer->lex(token);
     if (!isEOD(token))
     {
-        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_UNEXPECTED_TOKEN,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_UNEXPECTED_TOKEN, token->location,
+                             token->text);
         skipUntilEOD(mTokenizer, token);
     }
 }
@@ -632,25 +622,25 @@
     }
     while ((token->type != '\n') && (token->type != Token::LAST))
     {
-        switch(state++)
+        switch (state++)
         {
-          case PRAGMA_NAME:
-            name = token->text;
-            valid = valid && (token->type == Token::IDENTIFIER);
-            break;
-          case LEFT_PAREN:
-            valid = valid && (token->type == '(');
-            break;
-          case PRAGMA_VALUE:
-            value = token->text;
-            valid = valid && (token->type == Token::IDENTIFIER);
-            break;
-          case RIGHT_PAREN:
-            valid = valid && (token->type == ')');
-            break;
-          default:
-            valid = false;
-            break;
+            case PRAGMA_NAME:
+                name  = token->text;
+                valid = valid && (token->type == Token::IDENTIFIER);
+                break;
+            case LEFT_PAREN:
+                valid = valid && (token->type == '(');
+                break;
+            case PRAGMA_VALUE:
+                value = token->text;
+                valid = valid && (token->type == Token::IDENTIFIER);
+                break;
+            case RIGHT_PAREN:
+                valid = valid && (token->type == ')');
+                break;
+            default:
+                valid = false;
+                break;
         }
         mTokenizer->lex(token);
     }
@@ -660,8 +650,7 @@
                       (state == RIGHT_PAREN + 1));  // With value.
     if (!valid)
     {
-        mDiagnostics->report(Diagnostics::PP_UNRECOGNIZED_PRAGMA,
-                             token->location, name);
+        mDiagnostics->report(Diagnostics::PP_UNRECOGNIZED_PRAGMA, token->location, name);
     }
     else if (state > PRAGMA_NAME)  // Do not notify for empty pragma.
     {
@@ -689,47 +678,49 @@
     {
         switch (state++)
         {
-          case EXT_NAME:
-            if (valid && (token->type != Token::IDENTIFIER))
-            {
-                mDiagnostics->report(Diagnostics::PP_INVALID_EXTENSION_NAME,
-                                     token->location, token->text);
-                valid = false;
-            }
-            if (valid) name = token->text;
-            break;
-          case COLON:
-            if (valid && (token->type != ':'))
-            {
-                mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN,
-                                     token->location, token->text);
-                valid = false;
-            }
-            break;
-          case EXT_BEHAVIOR:
-            if (valid && (token->type != Token::IDENTIFIER))
-            {
-                mDiagnostics->report(Diagnostics::PP_INVALID_EXTENSION_BEHAVIOR,
-                                     token->location, token->text);
-                valid = false;
-            }
-            if (valid) behavior = token->text;
-            break;
-          default:
-            if (valid)
-            {
-                mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN,
-                                     token->location, token->text);
-                valid = false;
-            }
-            break;
+            case EXT_NAME:
+                if (valid && (token->type != Token::IDENTIFIER))
+                {
+                    mDiagnostics->report(Diagnostics::PP_INVALID_EXTENSION_NAME, token->location,
+                                         token->text);
+                    valid = false;
+                }
+                if (valid)
+                    name = token->text;
+                break;
+            case COLON:
+                if (valid && (token->type != ':'))
+                {
+                    mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN, token->location,
+                                         token->text);
+                    valid = false;
+                }
+                break;
+            case EXT_BEHAVIOR:
+                if (valid && (token->type != Token::IDENTIFIER))
+                {
+                    mDiagnostics->report(Diagnostics::PP_INVALID_EXTENSION_BEHAVIOR,
+                                         token->location, token->text);
+                    valid = false;
+                }
+                if (valid)
+                    behavior = token->text;
+                break;
+            default:
+                if (valid)
+                {
+                    mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN, token->location,
+                                         token->text);
+                    valid = false;
+                }
+                break;
         }
         mTokenizer->lex(token);
     }
     if (valid && (state != EXT_BEHAVIOR + 1))
     {
-        mDiagnostics->report(Diagnostics::PP_INVALID_EXTENSION_DIRECTIVE,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_INVALID_EXTENSION_DIRECTIVE, token->location,
+                             token->text);
         valid = false;
     }
     if (valid && mSeenNonPreprocessorToken)
@@ -756,8 +747,8 @@
 
     if (mPastFirstStatement)
     {
-        mDiagnostics->report(Diagnostics::PP_VERSION_NOT_FIRST_STATEMENT,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_VERSION_NOT_FIRST_STATEMENT, token->location,
+                             token->text);
         skipUntilEOD(mTokenizer, token);
         return;
     }
@@ -769,47 +760,47 @@
         VERSION_ENDLINE
     };
 
-    bool valid = true;
+    bool valid  = true;
     int version = 0;
-    int state = VERSION_NUMBER;
+    int state   = VERSION_NUMBER;
 
     mTokenizer->lex(token);
     while (valid && (token->type != '\n') && (token->type != Token::LAST))
     {
         switch (state)
         {
-          case VERSION_NUMBER:
-            if (token->type != Token::CONST_INT)
-            {
-                mDiagnostics->report(Diagnostics::PP_INVALID_VERSION_NUMBER,
-                                     token->location, token->text);
+            case VERSION_NUMBER:
+                if (token->type != Token::CONST_INT)
+                {
+                    mDiagnostics->report(Diagnostics::PP_INVALID_VERSION_NUMBER, token->location,
+                                         token->text);
+                    valid = false;
+                }
+                if (valid && !token->iValue(&version))
+                {
+                    mDiagnostics->report(Diagnostics::PP_INTEGER_OVERFLOW, token->location,
+                                         token->text);
+                    valid = false;
+                }
+                if (valid)
+                {
+                    state = (version < 300) ? VERSION_ENDLINE : VERSION_PROFILE;
+                }
+                break;
+            case VERSION_PROFILE:
+                if (token->type != Token::IDENTIFIER || token->text != "es")
+                {
+                    mDiagnostics->report(Diagnostics::PP_INVALID_VERSION_DIRECTIVE, token->location,
+                                         token->text);
+                    valid = false;
+                }
+                state = VERSION_ENDLINE;
+                break;
+            default:
+                mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN, token->location,
+                                     token->text);
                 valid = false;
-            }
-            if (valid && !token->iValue(&version))
-            {
-                mDiagnostics->report(Diagnostics::PP_INTEGER_OVERFLOW,
-                                     token->location, token->text);
-                valid = false;
-            }
-            if (valid)
-            {
-                state = (version < 300) ? VERSION_ENDLINE : VERSION_PROFILE;
-            }
-            break;
-          case VERSION_PROFILE:
-            if (token->type != Token::IDENTIFIER || token->text != "es")
-            {
-                mDiagnostics->report(Diagnostics::PP_INVALID_VERSION_DIRECTIVE,
-                                     token->location, token->text);
-                valid = false;
-            }
-            state = VERSION_ENDLINE;
-            break;
-          default:
-            mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN,
-                                 token->location, token->text);
-            valid = false;
-            break;
+                break;
         }
 
         mTokenizer->lex(token);
@@ -817,15 +808,15 @@
 
     if (valid && (state != VERSION_ENDLINE))
     {
-        mDiagnostics->report(Diagnostics::PP_INVALID_VERSION_DIRECTIVE,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_INVALID_VERSION_DIRECTIVE, token->location,
+                             token->text);
         valid = false;
     }
 
     if (valid && version >= 300 && token->location.line > 1)
     {
-        mDiagnostics->report(Diagnostics::PP_VERSION_NOT_FIRST_LINE_ESSL3,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_VERSION_NOT_FIRST_LINE_ESSL3, token->location,
+                             token->text);
         valid = false;
     }
 
@@ -841,7 +832,7 @@
 {
     ASSERT(getDirective(token) == DIRECTIVE_LINE);
 
-    bool valid = true;
+    bool valid            = true;
     bool parsedFileNumber = false;
     int line = 0, file = 0;
 
@@ -883,8 +874,8 @@
         {
             if (valid)
             {
-                mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN,
-                                     token->location, token->text);
+                mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN, token->location,
+                                     token->text);
                 valid = false;
             }
             skipUntilEOD(mTokenizer, token);
@@ -904,14 +895,14 @@
     if (mConditionalStack.empty())
         return false;
 
-    const ConditionalBlock& block = mConditionalStack.back();
+    const ConditionalBlock &block = mConditionalStack.back();
     return block.skipBlock || block.skipGroup;
 }
 
 void DirectiveParser::parseConditionalIf(Token *token)
 {
     ConditionalBlock block;
-    block.type = token->text;
+    block.type     = token->text;
     block.location = token->location;
 
     if (skipping())
@@ -930,20 +921,20 @@
         int expression = 0;
         switch (directive)
         {
-          case DIRECTIVE_IF:
-            expression = parseExpressionIf(token);
-            break;
-          case DIRECTIVE_IFDEF:
-            expression = parseExpressionIfdef(token);
-            break;
-          case DIRECTIVE_IFNDEF:
-            expression = parseExpressionIfdef(token) == 0 ? 1 : 0;
-            break;
-          default:
-              UNREACHABLE();
-              break;
+            case DIRECTIVE_IF:
+                expression = parseExpressionIf(token);
+                break;
+            case DIRECTIVE_IFDEF:
+                expression = parseExpressionIfdef(token);
+                break;
+            case DIRECTIVE_IFNDEF:
+                expression = parseExpressionIfdef(token) == 0 ? 1 : 0;
+                break;
+            default:
+                UNREACHABLE();
+                break;
         }
-        block.skipGroup = expression == 0;
+        block.skipGroup       = expression == 0;
         block.foundValidGroup = expression != 0;
     }
     mConditionalStack.push_back(block);
@@ -960,7 +951,7 @@
     int expression = 0;
     ExpressionParser::ErrorSettings errorSettings;
     errorSettings.integerLiteralsMustFit32BitSignedRange = false;
-    errorSettings.unexpectedIdentifier                   = Diagnostics::PP_CONDITIONAL_UNEXPECTED_TOKEN;
+    errorSettings.unexpectedIdentifier = Diagnostics::PP_CONDITIONAL_UNEXPECTED_TOKEN;
 
     bool valid = true;
     expressionParser.parse(token, &expression, false, errorSettings, &valid);
@@ -968,8 +959,8 @@
     // Check if there are tokens after #if expression.
     if (!isEOD(token))
     {
-        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_UNEXPECTED_TOKEN,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_UNEXPECTED_TOKEN, token->location,
+                             token->text);
         skipUntilEOD(mTokenizer, token);
     }
 
@@ -983,21 +974,20 @@
     mTokenizer->lex(token);
     if (token->type != Token::IDENTIFIER)
     {
-        mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_UNEXPECTED_TOKEN, token->location, token->text);
         skipUntilEOD(mTokenizer, token);
         return 0;
     }
 
     MacroSet::const_iterator iter = mMacroSet->find(token->text);
-    int expression = iter != mMacroSet->end() ? 1 : 0;
+    int expression                = iter != mMacroSet->end() ? 1 : 0;
 
     // Check if there are tokens after #ifdef expression.
     mTokenizer->lex(token);
     if (!isEOD(token))
     {
-        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_UNEXPECTED_TOKEN,
-                             token->location, token->text);
+        mDiagnostics->report(Diagnostics::PP_CONDITIONAL_UNEXPECTED_TOKEN, token->location,
+                             token->text);
         skipUntilEOD(mTokenizer, token);
     }
     return expression;