//===--- PPDirectives.cpp - Directive Handling for Preprocessor -----------===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file implements # directive processing for the Preprocessor.////===----------------------------------------------------------------------===//#include"clang/Lex/Preprocessor.h"#include"clang/Lex/LiteralSupport.h"#include"clang/Lex/HeaderSearch.h"#include"clang/Lex/MacroInfo.h"#include"clang/Lex/LexDiagnostic.h"#include"clang/Basic/SourceManager.h"#include"llvm/ADT/APInt.h"usingnamespaceclang;//===----------------------------------------------------------------------===//// Utility Methods for Preprocessor Directive Handling.//===----------------------------------------------------------------------===//MacroInfo*Preprocessor::AllocateMacroInfo(SourceLocationL){MacroInfo*MI;if(!MICache.empty()){MI=MICache.back();MICache.pop_back();}elseMI=(MacroInfo*