summaryrefslogtreecommitdiff
path: root/clang/lib/InstallAPI/Frontend.cpp
AgeCommit message (Collapse)Author
2025-06-15[clang] Remove unused includes (NFC) (#144285)Kazu Hirata
These are identified by misc-include-cleaner. I've filtered out those that break builds. Also, I'm staying away from llvm-config.h, config.h, and Compiler.h, which likely cause platform- or compiler-specific build failures.
2024-11-07[InstallAPI] Call DenseMap::find without constructing std::string (NFC) ↵Kazu Hirata
(#115260) KnownIncludes is of DenseMap<StringRef, HeaderType>, so we don't need to allocate a temporary instance of std::string.
2024-09-25[clang] Make deprecations of some `FileManager` APIs formal (#110014)Jan Svoboda
Some `FileManager` APIs still return `{File,Directory}Entry` instead of the preferred `{File,Directory}EntryRef`. These are documented to be deprecated, but don't have the attribute that warns on their usage. This PR marks them as such with `LLVM_DEPRECATED()` and replaces their usage with the recommended counterparts. NFCI.
2024-04-09[InstallAPI] Tie lifetime of FE objects to DylibVerifier (#88189)Cyndy Ishida
A few verification checks need to happen until all AST's have been traversed, specifically for zippered framework checking. To keep source location until that time valid, hold onto to references of FrontendRecords + SourceManager.
2024-04-05[InstallAPI] Capture & compare load commands that may differ per arch slice ↵Cyndy Ishida
(#87674) * Capture reexported libraries, allowable clients, rpaths, shared cache eligibility. * Add support for select Xarch options. * Add diagnostics related to capturing these options. * Add support for verifying these attributes against what is encoded in the dylib.
2024-03-25Reapply "[InstallAPI] Add --extra* and --exclude* cli options for header ↵Cyndy Ishida
input (#86522)" (#86574)
2024-03-25Revert "[InstallAPI] Add --extra* and --exclude* cli options for header ↵Cyndy Ishida
input (#86522)" This reverts commit b7d8c6188986f62573b9516fe27fdd0c7df1aaf9. And This reverts commit 2d40f179124f874aca4cf1145fdbc42fb8fb17f3. It caused a build failure i'll need to reproduce. ` error: could not convert ‘Rule’ from ‘llvm::Regex’ to ‘llvm::Expected<llvm::Regex>’`
2024-03-25[InstallAPI] Add --extra* and --exclude* cli options for header input (#86522)Cyndy Ishida
InstallAPI takes a json list of headers that is typically generated from a build system like Xcode based on a project's attributes. Sometimes, maintainers may want to alter this for tapi input. Using e.g. `--extra-public-headers`, users can manipulate what headers will be used for TBD file generation.
2024-03-16[InstallAPI] Introduce Basic Verifier (#85106)Cyndy Ishida
This adds basic support for calling the verifier on global declarations that are expected to represent symbol exports. The driver now exclusively uses this for knowing what symbols make up a TBD file. Future patches will check against the dylib's symbol table.
2024-03-12[InstallAPI] Break up headers and add common header for TextAPI types (#84960)Cyndy Ishida
Before it gets too unwieldy, add a common header for all MachO types that are used across InstallAPI. Also, break up the types in `InstallAPI/Frontend`. This both avoids circular dependencies and is logically easier to maintain as more functionality gets added.
2024-03-11[InstallAPI] Collect C++ Decls (#84403)Cyndy Ishida
This includes capturing symbols for global variables, functions, classes, and templated defintions. As pre-determing what symbols are generated from C++ declarations can be non-trivial, InstallAPI only parses select declarations for symbol generation when parsing c++. For example, installapi only looks at explicit template instantiations or full template specializations, instead of general function or class templates, for symbol emittion.
2024-03-07[InstallAPI] Collect global functions (#83952)Cyndy Ishida
* Include whether functions are inlinable as they impact whether to add them into the tbd file and for future verification. * Fix how clang arguments got passed along, previously spacing was passed along to CC1 causing search path inputs to look non-existent.
2024-03-04[InstallAPI] Collect symbols from ObjC Ivars (#83632)Cyndy Ishida
2024-03-01[InstallAPI] Collect frontend attributes & ObjCInterface decls (#83378)Cyndy Ishida
* This patch introduces a container class, for holding records and attributes only collectible from the clang frontend, which is a subclass of `llvm::MachO::RecordsSlice` * This also prunes out collecting declarations from headers that aren't considered input to installapi. * Uses these constructs for collecting global objective-c interfaces.
2024-02-29[InstallAPI] Use unique identifiers for input buffers (#83523)Cyndy Ishida
2024-02-28[InstallAPI] Hookup Input files & basic ASTVisitor (#82552)Cyndy Ishida
This patch takes in json files as input to determine that header files to process, and in which order, to pass along for CC1 invocations. This patch also includes an ASTVisitor to collect simple global variables.