Commit Graph

6605 Commits

Author SHA1 Message Date
Andrew Rogers
627f7876b5 PR feedback in ElfFile.init 2024-12-16 13:49:05 -08:00
Andrew Rogers
b12188296f use memory-mapped IO instead of file reads 2024-12-16 12:54:18 -08:00
Andrew Rogers
b7dff4232e PR feedback 2024-12-16 11:41:00 -08:00
Saleem Abdulrasool
1fb84bb454 Merge pull request #78126 from andrurogerz/swift-inspect-windows-2
[swift-inspect] stop leaking memory in Windows heap iteration
2024-12-16 09:42:13 -08:00
Andrew Rogers
f6b1fca949 [swift-inspect] remove default RemoteProcess.Free property 2024-12-12 10:51:39 -08:00
Andrew Rogers
c6e34bf92a PR feedback 2024-12-12 08:37:18 -08:00
Max Desiatov
b5e8cfb931 swift-plugin-server: update for throwing SwiftSyntax API (#78114)
Depends on https://github.com/swiftlang/swift-syntax/pull/2915

The `main` method on `CompilerPluginMessageListener` can synchronously clean up resources that cannot be dealt with in a deinitializer due to possible errors thrown during the clean up. Usually this includes closure of file handles, sockets, shutting down external processes and IPC resources set up for these processes, etc.
2024-12-12 09:24:17 +00:00
Andrew Rogers
76c2719e47 Update tools/swift-inspect/Sources/swift-inspect/WindowsRemoteProcess.swift
Co-authored-by: Saleem Abdulrasool <compnerd@compnerd.org>
2024-12-11 16:01:18 -08:00
Andrew Rogers
f9db32c292 [swift-inspect] stop leaking memory in Windows heap iteration 2024-12-11 15:47:16 -08:00
Andrew Rogers
1ce1956d8a [swift-inspect] FreeLibrary returns 0 on failure not success 2024-12-11 15:30:30 -08:00
Andrew Rogers
3aef500131 formatting fixes and missed copyright date updates 2024-12-10 10:34:18 -08:00
Andrew Rogers
61f6b0e704 PR Feedback: make ProcFS an enum instead of a class 2024-12-05 09:57:57 -08:00
Andrew Rogers
f669299572 properly override the Free property in LinuxRemoteProcess 2024-12-05 09:57:46 -08:00
Andrew Rogers
278f90cf93 PR feedback: fix typo 2024-12-04 13:52:03 -08:00
Andrew Rogers
e702be9cdc PR feedback: rework error definitions 2024-12-04 13:50:34 -08:00
Andrew Rogers
6e466c44e1 minimize ELF parsing support to ELF64 only 2024-12-04 13:10:56 -08:00
Andrew Rogers
48cd587866 PR feedback: add Process.readRawString to get byte count in GetStringLengthFunction 2024-12-04 11:35:12 -08:00
Andrew Rogers
5a277d499d PR feedback: short-circuit return on readArray of 0 items 2024-12-04 11:23:32 -08:00
Andrew Rogers
671db08c1d PR feedback: use precondition in place of assert 2024-12-04 11:19:54 -08:00
Andrew Rogers
3b0e5bb160 consistent use of /proc 2024-12-04 11:19:25 -08:00
Andrew Rogers
9e5f0ca9cd PR feedback: update copyright to 2024 2024-12-04 11:00:37 -08:00
Andrew Rogers
aa6bfabf60 PR feedback: fix typo in README.md 2024-12-04 10:59:19 -08:00
Andrew Rogers
31460f63b8 specify -Xlinker instead of -Xswiftc in README.md 2024-12-03 20:01:14 -08:00
Andrew Rogers
6dc7c3265d address some code review comments 2024-12-03 17:15:02 -08:00
Andrew Rogers
4906ed9c36 [linux] define _GNU_SOURCE for process_vm_readv 2024-12-03 15:53:05 -08:00
Andrew Rogers
59d39a1c7d [linux] exclude dump-array support 2024-12-03 14:47:16 -08:00
Andrew Rogers
049af2e0e0 [linux] add Linux build instructions to README.txt 2024-12-03 14:47:16 -08:00
Andrew Rogers
2ee5d15886 [linux] swift-inspect support for Linux 2024-12-03 14:47:16 -08:00
Kuba (Brecka) Mracek
8792efedf0 Merge pull request #77115 from kubamracek/embedded-mangling-prefix
[Mangling] [NFC] Prepare for a new mangling prefix for Embedded Swift: $e
2024-12-03 08:10:49 -08:00
Kuba Mracek
e527e8f307 [embedded] Teach swift-demangle about prefix, add test 2024-12-02 15:01:24 -08:00
Kuba Mracek
9c77074cac [Mangling] Establish a new mangling prefix for Embedded Swift: $e 2024-12-02 15:01:24 -08:00
Kuba Mracek
6f4ae28520 [ASTMangler] Pass ASTContext to all instantiations of ASTMangler 2024-12-02 15:01:04 -08:00
Allan Shortlidge
e131682e19 Merge pull request #77886 from tshortli/consolidate-availability-queries-on-decl
AST: Consolidate queries for `@available` attributes on `Decl`
2024-12-02 14:21:45 -08:00
Allan Shortlidge
c5398e17d3 AST: Introduce Decl::getDeprecatedAttr().
It replaces `DeclAttr::getDeprecated()` as the designated way to query for the
attribute that makes a decl deprecated.
2024-12-02 07:35:58 -08:00
Allan Shortlidge
2358712870 AST/Sema: Remove DeclAttr::isUnavailable().
Update callers to use `Decl::isUnavailable()` instead.
2024-12-02 07:35:58 -08:00
Allan Shortlidge
1dc7aa5b7b AST: Introduce Decl::isUnavailable().
Replace calls to `AvailableAttr::isUnavailable()` with `Decl::isUnavailable()`.
2024-12-02 07:35:58 -08:00
Saleem Abdulrasool
57afdab2f6 tools: use LibXml2::LibXml2 to link against
Adjust the build rules to use the `LibXml2::LibXml2` target rather
than use the explicit include paths and link flags. This allows us to
track additional dependencies (implicit linked libraries) as well as
properly propagate the include paths and library search paths.
2024-11-26 13:18:14 -08:00
Allan Shortlidge
ad7383499b Merge pull request #77758 from tshortli/available-attr-conveniences
AST: `AvailableAttr` cleanup
2024-11-21 13:03:07 -08:00
Hamish Knight
23e3f5f5de Merge pull request #77666 from hamishknight/lets-try-this-again
[AST] Remove `ModuleDecl::addFile`
2024-11-21 20:15:58 +00:00
Allan Shortlidge
36230cd9c6 AST: Use an accessor to get the PlatformKind from an AvailableAttr. 2024-11-21 09:10:36 -08:00
Saleem Abdulrasool
bb3d3a59a7 Merge pull request #77724 from compnerd/inspection
swift-inspect: add initial CMake based build system
2024-11-20 21:14:23 -08:00
Saleem Abdulrasool
22a014b484 swift-inspect: add initial CMake based build system
This addition will allow us to cross-compile swift-inspect to Windows
ARM64. Enabling the Windows ARM64 build permits the toolchain to become
more similar across the architectures.
2024-11-19 15:41:52 -08:00
Saleem Abdulrasool
87b3d51c70 swift-inspect: remove obsolete workaround
`-fno-split-cold-code` should no longer be needed after
llvm/llvm-project#99759. Remove the use of unsafe flags.
2024-11-19 12:20:43 -08:00
Hamish Knight
4946c799af [AST] Remove ModuleDecl::addFile
Rather than exposing an `addFile` member on
ModuleDecl, have the `create` members take a
lambda that populates the files for the module.
Once module construction has finished, the files
are immutable.
2024-11-17 14:17:20 +00:00
Hamish Knight
309c02410b [IDE] Avoid relying on after-the-fact use of addFile
We shouldn't be attempting to append SourceFiles
to the module after-the-fact for syntactic macro
expansion, refactor things such that the SourceFile
is created alongside the ModuleDecl.
2024-11-17 14:17:20 +00:00
Doug Gregor
24a12ebc34 Renable GeneratedSourceInfo::Attribute to GeneratedSourceInfo::AttributeFromClang 2024-11-15 09:02:49 -08:00
Artem Chikin
201edb83f6 Merge pull request #77606 from artemcm/MoveLibSwiftScanOutOfTools
[CMake] Establish a dependency from standard library variants onto 'libSwiftScan'
2024-11-14 12:31:12 -08:00
Artem Chikin
338b9141e3 Move libSwiftScan from 'tools' to 'lib/Tooling'
'tools' should be reserved for executable tools.
2024-11-14 08:44:32 -08:00
Doug Gregor
989c73d014 Ensure that buffers containing Clang swift_attr attributes are parsed as attributes
Previously, they were being parsed as top-level code, which would cause
errors because there are no definitions. Introduce a new
GeneratedSourceInfo kind to mark the purpose of these buffers so the
parser can handle them appropriately.
2024-11-13 21:19:37 -08:00
Steven Wu
47b3efdb6e [Macro] Add a new macro loading option that do not involve searching
Add flag `-load-resolved-plugin` to load macro plugin, which provides a
pre-resolved entry into PluginLoader so the plugins can be loaded based
on module name without searching the file system. The option is mainly
intended to be used by explicitly module build and the flag is supplied
by dependency scanner.
2024-10-31 10:56:21 -07:00