mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-24 10:07:48 +00:00
e08464fb45
Most clients of SourceManager.h need to do things like turning source locations into file & line number pairs, but this doesn't require bringing in FileManager.h and LLVM's FS headers. The main code change here is to sink SM::createFileID into the cpp file. I reason that this is not performance critical because it doesn't happen on the diagnostic path, it happens along the paths of macro expansion (could be hot) and new includes (less hot). Saves some includes: 309 - /usr/local/google/home/rnk/llvm-project/clang/include/clang/Basic/FileManager.h 272 - /usr/local/google/home/rnk/llvm-project/clang/include/clang/Basic/FileSystemOptions.h 271 - /usr/local/google/home/rnk/llvm-project/llvm/include/llvm/Support/VirtualFileSystem.h 267 - /usr/local/google/home/rnk/llvm-project/llvm/include/llvm/Support/FileSystem.h 266 - /usr/local/google/home/rnk/llvm-project/llvm/include/llvm/Support/Chrono.h Differential Revision: https://reviews.llvm.org/D75406
31 lines
1.2 KiB
C++
31 lines
1.2 KiB
C++
//===--- PPCallbacks.cpp - Callbacks for Preprocessor actions ---*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "clang/Lex/PPCallbacks.h"
|
|
#include "clang/Basic/FileManager.h"
|
|
|
|
using namespace clang;
|
|
|
|
// Out of line key method.
|
|
PPCallbacks::~PPCallbacks() = default;
|
|
|
|
void PPCallbacks::HasInclude(SourceLocation Loc, StringRef FileName,
|
|
bool IsAngled, Optional<FileEntryRef> File,
|
|
SrcMgr::CharacteristicKind FileType) {}
|
|
|
|
// Out of line key method.
|
|
PPChainedCallbacks::~PPChainedCallbacks() = default;
|
|
|
|
void PPChainedCallbacks::HasInclude(SourceLocation Loc, StringRef FileName,
|
|
bool IsAngled, Optional<FileEntryRef> File,
|
|
SrcMgr::CharacteristicKind FileType) {
|
|
First->HasInclude(Loc, FileName, IsAngled, File, FileType);
|
|
Second->HasInclude(Loc, FileName, IsAngled, File, FileType);
|
|
}
|
|
|