Artem Chikin
9d2aecbde4
Frontend emitting parsable output, as implemented, emitted began/finished messages on a per-primary basis. Which means that -frontend-parseable-output had no effect in contexts where no primary inputs are specified, such as WMO. This change fixes that by also emitting began/finished messages when no primary outputs are specified.
...
Resolves rdar://91999048
2022-04-28 13:24:03 -07:00
Josh Soref
38c0de0598
Spelling frontend ( #42465 )
...
* spelling: calculated
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: compilations
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: containing
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: dependency
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: dependent
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: diagnose
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: explicit
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: explicitly
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: feature
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: fulfill
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: fulfillment
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: invoke
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: module
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: multiple
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: nonexistent
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: omitted
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: optimization
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: performing
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: primaries
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: propagate
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: sacrifices
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: scanned
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: substitution
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: successful
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: typecheck
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: unobtrusive
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
* spelling: utilities
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com >
2022-04-20 15:18:37 -07:00
Arnold Schwaighofer
609428cad9
IRGen: disable-llvm-optzns should disable the objc-arc-contract pass
...
Don't run the objc-arc-contract pass when disable-llvm-optzns is passed.
In pipeline setups where the swift-frontend is called twice;
- the first time to create bitcode
- the second time to generate object code from the bitcode (using
disable-llvm-optzns)
we don't want to run the objc-arc-contract pass twice.
rdar://91908312
2022-04-18 13:47:10 -07:00
Allan Shortlidge
e10ebcab08
ModuleInterface: Adopt swiftinterface verification lit substitutions in emit-interface-macos-canonical-version.swift. Move the test to the ModuleInterface directory to colocate it with other swiftinterface generation tests and rename it to availability-macos-canonical-version.swift. Remove an extraneous -experimental-skip-non-inlinable-function-bodies flag that seemed like it was copypasta.
2022-04-15 20:12:59 -07:00
Alex Lorenz
2e3aa87737
Revert "Revert "Merge pull request #41831 from hyp/unify-header""
...
This reverts commit 4c9582c295 .
2022-03-19 13:36:28 -07:00
Alex Lorenz
4c9582c295
Revert "Merge pull request #41831 from hyp/unify-header"
...
This reverts commit cd93d23bac , reversing
changes made to f9f5476e9a .
2022-03-18 10:03:07 -07:00
Alex Lorenz
9d52099d5b
[cxx-interop] start to emitting a unified header file for a Swift module
...
This change removes the -emit-cxx-header option, and adds a new -emit-clang-header-path option instead. It's aliased to -emit-objc-header-path for now, but in the future, -emit-objc-header-path will alias to it. After this change Swift can start emitting a single header file that can be expose declarations to C, Objective-C, or C++. For now C++ interface is generated (for all public decls) only when -enable-cxx-interop flag is passed, but that behavior will change once attribute is supported.
2022-03-17 10:34:47 -07:00
Allan Shortlidge
e25b822f7a
Merge pull request #41673 from tshortli/inlining-availability-checking
...
Add -target-min-inlining-version to aid type checking for inlinable functions in resilient libraries
2022-03-07 17:30:59 -08:00
Becca Royal-Gordon
cdcd726f92
Add fixit alternation to -verify
...
You can now put `||` between two fix-its to indicate that the test succeeds if either of them is present. This is meant for situations where a fix-it might vary slightly in different subtests or test configurations.
Also fixes a bug in the diagnostic verifier where "expected-whatever" would search beyond the same line for its opening "{{", potentially finding one many lines away and giving a bad diagnostic and poor recovery behavior.
2022-03-04 10:28:42 -08:00
Jonathan Grynspan
34a4d66481
[SR-15938] Error when referencing #dsohandle in a Swift test on Windows
2022-03-04 12:25:49 -05:00
swift-ci
ad903094c0
Merge pull request #41386 from beccadax/your-library-is-overdue
...
Weaken some type checks for @preconcurrency decls
2022-03-01 16:13:59 -08:00
Becca Royal-Gordon
5330653f3d
Improve -verify’s wrong diagnostic kind diagnosis
...
If, for instance, an error is emitted as a warning instead, the verifier now detects this and emits a single diagnostic saying that the warning was found but had the wrong kind, instead of emitting one diagnostic saying the error was missing and another saying the warning was unexpected.
In theory there are some edge cases we could handle better by doing two separate passes—one to detect exact expectation matches and remove them, another to detect near-misses and diagnose them—but in practice, I think the text + diagnostic location is likely to be unique enough to keep this from being a problem. (I would hesitate to do wrong-line diagnostics in the same pass like this, though.)
2022-02-18 13:27:59 -08:00
Anthony Latsis
2128678d56
DiagnosticVerifier: Support line offsets in fix-it verification ranges
2022-02-18 04:42:57 +03:00
Anthony Latsis
91fedd9b8a
Verifier: Support line numbers in fix-it verification
2022-01-31 05:04:49 +03:00
Slava Pestov
d57f1aaa06
Merge pull request #40919 from slavapestov/debug-generic-signatures
...
AST: -debug-generic-signatures protocol-qualifies DependentMemberTypes
2022-01-20 10:37:13 -05:00
Slava Pestov
e4973158d8
AST: -debug-generic-signatures protocol-qualifies DependentMemberTypes
2022-01-19 22:36:15 -05:00
Alex Lorenz
6486c3c1d8
[interop] add an option to emit C++ header interface for a module
2022-01-19 18:55:14 -08:00
Erik Eckstein
408cf02bc8
rework cross-module-optimization
...
* rename the CrossModuleSerializationSetup pass to simply CrossModuleOptimization
* remove the CMO specific serializer pass. Instead run the CrossModuleSerializationSetup pass directly before the standard serializer pass.
* correctly handle shared functions (e.g. specializations)
* refactoring
2021-12-20 11:33:02 +01:00
Xi Ge
28eef324d0
Frontend: support emitting ABI descriptor when specifying the path in supplementary output map. rdar://86559811
2021-12-15 22:42:15 -08:00
Argyrios Kyrtzidis
7ad553f981
Merge pull request #40273 from bnbarham/pch-allow-errors
...
[ClangImporter] Handle allowing PCM/PCH errors
2021-12-03 18:13:46 -08:00
Ellie Shin
48a483a9f5
Update tests
2021-12-02 20:57:55 -08:00
Ellie Shin
b82e7bf4e1
Add explicit builds mode to tests
2021-12-02 15:51:07 -08:00
Ellie Shin
5da881256f
Module aliasing: Use real module names with -scan-dependencies
...
Resolves rdar://85991587
2021-12-02 15:45:30 -08:00
Ben Barham
efcb5e38ca
[Frontend] Add whether allowing compiler errors to the pretty stacktrace
...
While this will be in the compiler arguments, it's easy to miss when
skimming over the pretty stacktrace. Add an explicit message to make it
easier to see while looking over crashes.
2021-11-30 15:46:52 +10:00
Ellie Shin
e2631c9ca8
Move getRealImportPath to cpp
...
Remove unnecessary setter
Update tests
2021-11-10 00:30:26 -08:00
Ellie Shin
c0766177ce
Update test
2021-11-10 00:30:25 -08:00
Ellie Shin
4814ea483f
Update dump-ast test
2021-11-10 00:30:25 -08:00
Ellie Shin
09093e89dc
Pass in out param to ImportPath getters
...
Modify ASTDumper to print module real names
Add doc comments
2021-11-10 00:30:25 -08:00
Ellie Shin
fd5aaa5bcb
Add a test with -emit-imported-module
2021-11-10 00:30:25 -08:00
Ellie Shin
7cabcc913e
Update dump ast test
2021-11-10 00:30:25 -08:00
Ellie Shin
c08e7b9cd2
Module aliasing: modify ImportPath getters to return real module names
...
Resolves rdar://83632921, rdar://83633109
2021-11-10 00:30:25 -08:00
Ellie Shin
b294fe94f2
Merge pull request #39929 from apple/es-src
...
Module Aliasing: do not allow module real names to appear in source files (only allow module aliases).
Resolves rdar://83592084
2021-11-01 17:50:49 -07:00
Ellie Shin
66d64b610d
Updates params to ASTContext::getRealModuleName
2021-10-29 01:52:33 -07:00
elsh
10a96dff57
Module Aliasing: do not allow module real names to appear in source files / only allow aliases
...
Resolves rdar://83592084
2021-10-28 02:36:59 -07:00
elsh
477c7a6c4b
Fix tests: remove platform specific entries
2021-10-19 17:32:16 -07:00
elsh
fe29ae027e
Disable failing tests temporarily
2021-10-19 17:01:53 -07:00
Ellie Shin
6f34844b49
Merge pull request #39705 from apple/es-module-alias-serialize
...
[Module aliasing] Serialize SIL and binaries with module real names for referenced or imported modules. Resolves rdar://83632529
2021-10-18 21:55:45 -07:00
elsh
9143bd4805
Update test
2021-10-18 17:37:26 -07:00
elsh
7a3a032ce8
Use module real name in ASTPrinter
2021-10-15 03:57:21 -07:00
elsh
e3d5ae0172
Add SIL re-ingest test
2021-10-14 19:03:31 -07:00
elsh
e1dfdba1e6
Add doc comments and tests for AST / SIL
2021-10-14 16:18:02 -07:00
elsh
4b3ee94c99
Cleanup tests
2021-10-13 14:52:52 -07:00
elsh
1d0c84c690
Update tests
2021-10-13 13:54:10 -07:00
elsh
adf33e0bb9
Add doc comments
...
Rename test
2021-10-12 15:03:30 -07:00
elsh
96fb3d6112
[Module aliasing] Serialize binary with module real name
...
Resolves rdar://83632529
2021-10-12 13:59:34 -07:00
Ellie Shin
5c92ccadc9
Merge pull request #39628 from apple/es-m4
...
[Module aliasing] Mangle symbols using the module real name (binary name), which can be different from the module name appearing in source files if '-module-alias' is used. Resolves rdar://83632604.
2021-10-10 13:37:46 -07:00
elsh
e130fde807
Fix test for linux
2021-10-08 16:23:43 -07:00
Alexis Laferrière
baf032bda2
Merge pull request #39619 from xymus/pls-no-script-bug-reports
...
[Frontend] Don't ask to report bugs for a script failure
2021-10-08 09:11:27 -07:00
elsh
782ba98d1b
[Module aliasing] Mangle symbols with module real names
2021-10-06 18:20:26 -07:00
elsh
e182c2387e
Update tests due to windows escape char error
2021-10-06 15:28:16 -07:00