clang
22.0.0git
include
clang
Tooling
DependencyScanning
InProcessModuleCache.h
Go to the documentation of this file.
1
//===----------------------------------------------------------------------===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#ifndef LLVM_CLANG_TOOLING_DEPENDENCYSCANNING_INPROCESSMODULECACHE_H
10
#define LLVM_CLANG_TOOLING_DEPENDENCYSCANNING_INPROCESSMODULECACHE_H
11
12
#include "
clang/Serialization/ModuleCache.h
"
13
#include "llvm/ADT/StringMap.h"
14
15
#include <mutex>
16
#include <shared_mutex>
17
18
namespace
clang
{
19
namespace
tooling {
20
namespace
dependencies {
21
struct
ModuleCacheEntry
{
22
std::shared_mutex
CompilationMutex
;
23
std::atomic<std::time_t>
Timestamp
= 0;
24
};
25
26
struct
ModuleCacheEntries
{
27
std::mutex
Mutex
;
28
llvm::StringMap<std::unique_ptr<ModuleCacheEntry>>
Map
;
29
};
30
31
IntrusiveRefCntPtr<ModuleCache>
32
makeInProcessModuleCache
(
ModuleCacheEntries
&Entries);
33
}
// namespace dependencies
34
}
// namespace tooling
35
}
// namespace clang
36
37
#endif
ModuleCache.h
llvm::IntrusiveRefCntPtr
Definition:
LLVM.h:43
clang::tooling::dependencies::makeInProcessModuleCache
IntrusiveRefCntPtr< ModuleCache > makeInProcessModuleCache(ModuleCacheEntries &Entries)
Definition:
InProcessModuleCache.cpp:111
clang
The JSON file list parser is used to communicate input to InstallAPI.
Definition:
CalledOnceCheck.h:17
clang::tooling::dependencies::ModuleCacheEntries
Definition:
InProcessModuleCache.h:26
clang::tooling::dependencies::ModuleCacheEntries::Map
llvm::StringMap< std::unique_ptr< ModuleCacheEntry > > Map
Definition:
InProcessModuleCache.h:28
clang::tooling::dependencies::ModuleCacheEntries::Mutex
std::mutex Mutex
Definition:
InProcessModuleCache.h:27
clang::tooling::dependencies::ModuleCacheEntry
Definition:
InProcessModuleCache.h:21
clang::tooling::dependencies::ModuleCacheEntry::Timestamp
std::atomic< std::time_t > Timestamp
Definition:
InProcessModuleCache.h:23
clang::tooling::dependencies::ModuleCacheEntry::CompilationMutex
std::shared_mutex CompilationMutex
Definition:
InProcessModuleCache.h:22
Generated on Tue Sep 2 2025 18:37:03 for clang by
1.9.6