b6d6993e6e6d3daf4d9876794254d20a134e37c2 |
|
01-Jul-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r239765 Change-Id: I0393bcc952590a7226af8c4b58534a8ee5fd2d99
/external/clang/include/clang/Lex/PTHManager.h
|
58878f85ab89b13e9eea4af3ccf055e42c557bc8 |
|
06-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r235153 Change-Id: Ia94bbcb6da7c75b6e7c2afedd1001094d62a7324
/external/clang/include/clang/Lex/PTHManager.h
|
3ea9e33ea25e0c2b12db56418ba3f994eb662c04 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r233350 Change-Id: I12d4823f10bc9e445b8b86e7721b71f98d1df442
/external/clang/include/clang/Lex/PTHManager.h
|
0e2c34f92f00628d48968dfea096d36381f494cb |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master clang for rebase to r230699. Change-Id: I6a546ab3d4ae37119eebb735e102cca4f80ab520
/external/clang/include/clang/Lex/PTHManager.h
|
176edba5311f6eff0cad2631449885ddf4fbc9ea |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master Clang for rebase to r222490. Change-Id: Ic557ac55e97fbf6ee08771c7b7c3594777b0aefd
/external/clang/include/clang/Lex/PTHManager.h
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/include/clang/Lex/PTHManager.h
|
30a2e16f6c27f888dd11eba6bbbae1e980078fcb |
|
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort #include lines for all files under include/... This is a simpler sort, entirely automatic with the help of llvm/utils/sort_includes.py -- no manual edits here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
ec1b330cc309efa2f0835e8d83892ea2c89e3ae1 |
|
15-Sep-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Make PTHManager properly noncopyable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
c141b51d78b40c7b0b04f27adfa70ec5bbddc49c |
|
17-Aug-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Switch PTH format from a 7 byte magic number to an 8 byte one, to avoid misaligned reads throughout the file. Bump PTH format version to 10. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
d7a3e2c5f61cd4893f95b69a424fe4def3aa0f69 |
|
07-Feb-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line. This seems to negatively affect compile time onsome ObjC tests (which use a lot of partial diagnostics I assume). I have to come up with a way to keep them inline without including Diagnostic.h everywhere. Now adding a new diagnostic requires a full rebuild of e.g. the static analyzer which doesn't even use those diagnostics. This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99. This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789. This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7. This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f. This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
fdd15602a42bbe26185978ef1e17019f6d969aa7 |
|
04-Feb-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove Diagnostic.h include from Preprocessor.h. - Move the offending methods out of line and fix transitive includers. - This required changing an enum in the PPCallback API into an unsigned. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
d6471f7c1921c7802804ce3ff6fe9768310f72b9 |
|
26-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Rename Diagnostic to DiagnosticsEngine as per issue 5397 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
686775deca8b8685eb90801495880e3abdd844c2 |
|
20-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
now that we have a centralized place to do so, add some using declarations for some common llvm types: stringref and smallvector. This cleans up the codebase quite a bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
10e286aa8d39fb51a21412850265d9dae74613ee |
|
23-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
rework the stat cache, pulling it out of FileManager.h into its own header and giving it some more structure. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
681c74afe6a81161aa13291c6c114e5240b23865 |
|
23-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
don't allow remapping PTH file paths with -fworking-directory, the client should just pass in absolute paths. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
39b49bcaaddb1049234fca9500c0ac02c088e23d |
|
23-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
now the FileManager has a FileSystemOpts ivar, stop threading FileSystemOpts through a ton of apis, simplifying a lot of code. This also fixes a latent bug in ASTUnit where it would invoke methods on FileManager without creating one in some code paths in cindextext. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
389db16c63eec6ecfa9b235155252d8da766e94e |
|
03-Nov-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Implement -working-directory. When -working-directory is passed in command line, file paths are resolved relative to the specified directory. This helps both when using libclang (where we can't require the user to actually change the working directory) and to help reproduce test cases when the reproduction work comes along. --FileSystemOptions is introduced which controls how file system operations are performed (currently it just contains the working directory value if set). --FileSystemOptions are passed around to various interfaces that perform file operations. --Opening & reading the content of files should be done only through FileManager. This is useful in general since file operations will be abstracted in the future for the reproduction mechanism. FileSystemOptions is independent of FileManager so that we can have multiple translation units sharing the same FileManager but with different FileSystemOptions. Addresses rdar://8583824. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
700030ebddb987936d4fee14d9412821d96e4840 |
|
12-Mar-2010 |
Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com> |
Switch over IdentifierInfoLookup to StringRef git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
3574f46cf495ec61618fd6864b045c5b1d0d5068 |
|
12-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
Switch PTHManager to using diagnostics for most errors. Also, always give errors on a token-cache PTH failure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
1eb4433ac451dc16f4133a88af2d002ac26c58ef |
|
09-Sep-2009 |
Mike Stump <mrs@apple.com> |
Remove tabs, and whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
22f0d09298ef05136f1ef6ebc4469b482cbd73e7 |
|
22-Mar-2009 |
Ted Kremenek <kremenek@apple.com> |
PTHManager::Create(): - Make the Diagnostic::Level for PTH errors to be specified by the caller clang (driver): - Set the PTHManager diagnostic level to "Diagnostic::Error" for -include-pth (a hard error) and Diagnostic::Warning for -token-cache (we can still proceed). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
68228634016f644a1164fa1f024a9ce2093656bf |
|
19-Mar-2009 |
Ted Kremenek <kremenek@apple.com> |
Add PTHManager::getOriginalSourceFile(), a method that returns the name of the original source file (if any) that was used to generate the PTH cache. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
a4b44dd9d30929a35c44d85102e5241ee847b2f2 |
|
13-Feb-2009 |
Ted Kremenek <kremenek@apple.com> |
Add some boilerplate to the PTH file to prepare for the caching of stats for directories (and negative stats too). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
337edcdbec05316b407d0d64865c88ff8597d910 |
|
12-Feb-2009 |
Ted Kremenek <kremenek@apple.com> |
PTH: Cache stat information for files in the PTH file. Hook up FileManager to use this stat information in the PTH file using a 'StatSysCallCache' object. Performance impact (Cocoa.h, PTH): - number of stat calls reduces from 1230 to 425 - fsyntax-only: time improves by 4.2% We can reduce the number of stat calls to almost zero by caching negative stat calls and directory stat calls in the PTH file as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
a4bd8eb4d6d4b625f6bbb62fc180b02eab6433ed |
|
12-Feb-2009 |
Ted Kremenek <kremenek@apple.com> |
PTH: Have meta data be at the beginning of the PTH file, not the end. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
7e3a004c6ed1fe87912203b9c5a113f8da89d261 |
|
11-Feb-2009 |
Ted Kremenek <kremenek@apple.com> |
PTH: Replace string identifier to persistent ID lookup with a hashtable. This is actually *slightly* slower than the binary search. Since this is algorithmically better, further performance tuning should be able to make this faster. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
f1de4649e917f891d24e0718d02ee904b9edbe9d |
|
11-Feb-2009 |
Ted Kremenek <kremenek@apple.com> |
PTH: Don't emit the PTH offset of the IdentifierInfo string data as that data is referenced by other tables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
b99b0c0e292544eb1f4feeaf9c2664d12329d558 |
|
10-Feb-2009 |
Ted Kremenek <kremenek@apple.com> |
Bump PTH version. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
8a6aec620dbec1f292fe4116c0373ac81ab90234 |
|
28-Jan-2009 |
Ted Kremenek <kremenek@apple.com> |
Enhance PTHManager::Create() to take an optional Diagnostic* argument that can be used to report issues such as a missing PTH file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
277faca30c9f8f72b79f55695cbe3395ec246e7c |
|
27-Jan-2009 |
Ted Kremenek <kremenek@apple.com> |
PTH: Use Token::setLiteralData() to directly store a pointer to cached spelling data in the PTH file. This removes a ton of code for looking up spellings using sourcelocations in the PTH file. This simplifies both PTH-generation and reading. Performance impact for -fsyntax-only on Cocoa.h (with Cocoa.h in the PTH file): - PTH generation time improves by 5% - PTH reading improves by 0.3%. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
468edb509346e00a3228536b9f81064eb3baba19 |
|
26-Jan-2009 |
Ted Kremenek <kremenek@apple.com> |
Add version number to PTH files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
77ecb3a28f21496ecfdbb3d5f5b66b0d2abf48c9 |
|
18-Jan-2009 |
Chris Lattner <sabre@nondot.org> |
rearrange GetIdentifierInfo so that the fast path can be partially inlined into PTHLexer::Lex. This speeds up the user time of PTH -Eonly by another 2ms (4.4%) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
da9d61c96c412f6babc7f824152609562f302388 |
|
18-Jan-2009 |
Chris Lattner <sabre@nondot.org> |
switch PTH lexer from using "const char*"s to "const unsigned char*"s internally. This is just a cleanup that reduces the need to cast to unsigned char before assembling a larger integer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
f056d92e182cbe4f62c8d14102544dc38066dabc |
|
17-Jan-2009 |
Chris Lattner <sabre@nondot.org> |
simplify PTHManager::CreateLexer git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
2b2453a7d8fe732561795431f39ceb2b2a832d84 |
|
17-Jan-2009 |
Chris Lattner <sabre@nondot.org> |
this massive patch introduces a simple new abstraction: it makes "FileID" a concept that is now enforced by the compiler's type checker instead of yet-another-random-unsigned floating around. This is an important distinction from the "FileID" currently tracked by SourceLocation. *That* FileID may refer to the start of a file or to a chunk within it. The new FileID *only* refers to the file (and its #include stack and eventually #line data), it cannot refer to a chunk. FileID is a completely opaque datatype to all clients, only SourceManager is allowed to poke and prod it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
72b1b15ee88aac0a63e2c1dc53fe22f5ab297b20 |
|
15-Jan-2009 |
Ted Kremenek <kremenek@apple.com> |
IdentifierInfo: - IdentifierInfo can now (optionally) have its string data not be co-located with itself. This is for use with PTH. This aspect is a little gross, as getName() and getLength() now make assumptions about a possible alternate representation of IdentifierInfo. Perhaps we should make IdentifierInfo have virtual methods? IdentifierTable: - Added class "IdentifierInfoLookup" that can be used by IdentifierTable to perform "string -> IdentifierInfo" lookups using an auxilliary data structure. This is used by PTH. - Perform tests show that IdentifierTable::get() does not slow down because of the extra check for the IdentiferInfoLookup object (the regular StringMap lookup does enough work to mitigate the impact of an extra null pointer check). - The upshot is that now that some IdentifierInfo objects might be owned by the IdentiferInfoLookup object. This should be reviewed. PTH: - Modified PTHManager::GetIdentifierInfo to *not* insert entries in IdentifierTable's string map, and instead create IdentifierInfo objects on the fly when mapping from persistent IDs to IdentifierInfos. This saves a ton of work with string copies, hashing, and StringMap lookup and resizing. This change was motivated because when processing source files in the PTH cache we don't need to do any string -> IdentifierInfo lookups. - PTHManager now subclasses IdentifierInfoLookup, allowing clients of IdentifierTable to transparently use IdentifierInfo objects managed by the PTH file. PTHManager resolves "string -> IdentifierInfo" queries by doing a binary search over a sorted table of identifier strings in the PTH file (the exact algorithm we use can be changed as needed). These changes lead to the following performance changes when using PTH on Cocoa.h: - fsyntax-only: 10% performance improvement - Eonly: 30% performance improvement git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
f02f6f0ee3e05b958bcf67f00f4503671d67eccd |
|
13-Jan-2009 |
Ted Kremenek <kremenek@apple.com> |
PTH: Fix remaining cases where the spelling cache in the PTH file was being missed when it shouldn't. This shaves another 7% off PTH time for -Eonly on Cocoa.h git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
5f074266cc59563036c40516c814d63825723e20 |
|
09-Jan-2009 |
Ted Kremenek <kremenek@apple.com> |
Enhance PTH 'getSpelling' caching: - Refactor caching logic into a helper class PTHSpellingSearch - Allow "random accesses" in the spelling cache, thus catching the remaining cases where 'getSpelling' wasn't hitting the PTH cache For -Eonly, PTH, Cocoa.h: - This reduces wall time by 3% (user time unchanged, sys time reduced) - This reduces the amount of paged source by 1112K. The remaining 1112K still being paged in is from somewhere else (investigating). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
32a8ad526f9bc00539f000a2dd1ac3e167db61c1 |
|
08-Jan-2009 |
Ted Kremenek <kremenek@apple.com> |
PTH: Hook up getSpelling() caching in PTHLexer. This results in a nice performance gain. Here's what we see for -Eonly on Cocoa.h (using PTH): - wall time decreases by 21% (26% speedup overall) - system time decreases by 35% - user time decreases by 6% These reductions are due to not paging source files just to get spellings for literals. The solution in place doesn't appear to be 100% yet, as we still see some of the pages for source files getting mapped in. Using -print-stats, we see that SourceManager maps in 7179K less bytes of source text (reduction of 75%). Will investigate why the remaining 25% are getting paged in. With these changes, here's how PTH compares to non-PTH on Cocoa.h: -Eonly: PTH takes 64% of the time as non-PTH (54% speedup) -fsyntax-only: PTH takes 89% of the time as non-PTH (11% speedup) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
866bdf74547efe32c320554837ffce00fcc084fe |
|
23-Dec-2008 |
Ted Kremenek <kremenek@apple.com> |
PTH: - In PTHLexer::Lex read all of the token data from PTH file before constructing the token. The idea is to enhance locality. - Do not use Read8/Read32 in PTHLexer::Lex. Inline these operations manually. - Change PTHManager::ReadIdentifierInfo() to PTHManager::GetIdentifierInfo(). They are functionally the same except that PTHLexer::Lex() reads the persistent id. These changes result in a 3.3% speedup for PTH on Cocoa.h (-Eonly). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
cf58e6249c6b018508e34bcb76202caa42d2451a |
|
10-Dec-2008 |
Ted Kremenek <kremenek@apple.com> |
Declare PerIDCache as IdentifierInfo** instead of void*. This is just cleaner. No performance change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
6183e4815a4019e97ad01bd880f12355599b75fd |
|
03-Dec-2008 |
Ted Kremenek <kremenek@apple.com> |
PTH: Use an array instead of a DenseMap to cache persistent IDs -> IdentifierInfo*. This leads to a 4% speedup at -fsyntax-only using PTH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
0c6a77bc1f52f282a969538f139ebde429076ed3 |
|
03-Dec-2008 |
Ted Kremenek <kremenek@apple.com> |
- Remove PTHManager.cpp. Move all of its functions to PTHLexer.cpp since some of the internal methods are used by PTHLexer (their implementations are intertwined.) This enables some important inlining opportunities at -O3. - Don't construct an std::vector<Token> prior to feeding PTH tokens to the Preprocessor. Stream them off the PTH file directly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|
be1ee79d20db9cec7ef81d7a22ba2eaddc9c95b5 |
|
02-Dec-2008 |
Ted Kremenek <kremenek@apple.com> |
Added PTHManager, a utility class that will be used by Preprocessor to lazily create PTHLexer objects for pre-tokenized files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Lex/PTHManager.h
|