Commit Graph

20516 Commits

Author SHA1 Message Date
Rintaro Ishizaki
00874e9b18 Merge pull request #23065 from rintaro/ast-visibledecls-inapplicable-rdar36594731
[AST] Don't return inapplicable decls in lookupVisibleDecls
2019-03-15 09:27:14 -07:00
David Zarzycki
220eea07f4 [AST] NFC: Shrink Metatype DenseMap size 2019-03-15 07:39:22 -04:00
Slava Pestov
360ca75519 Merge pull request #23321 from slavapestov/old-sema-flag
Sema: Remove unused -fix-string-to-substring-conversion flag
2019-03-15 00:44:07 -04:00
Xi Ge
ffd159a1c9 Merge pull request #23310 from nkcsgexi/interface-avoid-underscore
IDE/sourcekitd: avoid printing underscored keywords in module interface view.
2019-03-14 19:31:57 -07:00
Slava Pestov
1159af50d9 Rename -enable-resilience to -enable-library-evolution and make it a driver flag
Fixes <rdar://problem/47679085>.
2019-03-14 22:24:26 -04:00
Slava Pestov
9626340d4b Sema: Remove unused -fix-string-to-substring-conversion flag 2019-03-14 22:08:43 -04:00
Xi Ge
b8c4400267 IDE/sourcekitd: avoid printing underscored keywords in module interface view. 2019-03-14 15:33:31 -07:00
Michael Gottesman
1e0414df77 Merge pull request #23284 from gottesmm/pr-0b4de614fe103f8e5a161be5219ba2cb7148aa25
[ast]/[silgen] If a case stmt is a fallthrough source, tail allocate a pointer in the case stmt to the fallthrough case.
2019-03-14 14:03:47 -07:00
Rintaro Ishizaki
b006c7c9b8 [AST] Don't return inapplicable decls in lookupVisibleDecls
rdar://problem/45340583 / https://bugs.swift.org/browse/SR-9027
rdar://problem/36594731
2019-03-14 12:57:37 -07:00
Michael Gottesman
7b27b4b502 [silgenpattern] Change SILGenPattern to use CaseStmt::hasFallthroughDest() instead of computing this itself.
rdar://47467128
2019-03-14 11:25:41 -07:00
Jordan Rose
3008fba396 Type-info testing flags aren't needed in parseable interfaces (#23289) 2019-03-14 10:09:51 -07:00
eeckstein
ece36345b9 Merge pull request #23249 from eeckstein/runtime-malloc-removal2
Avoid malloc allocations in the runtime, part 2
2019-03-14 08:47:41 -07:00
Harlan Haskins
875cd6530d [ParseableInterfaces] Preserve -enforce-exclusivity in interface args (#23281)
By default, we compile the standard library with
`-enforce-exclusivity=unchecked`. If we don't preserve this argument,
then the standard library compiled from an interface includes
exclusivity enforcement, which pessimizes inlining those functions,
which decreases performance for clients.

Part of rdar://46431767
2019-03-14 00:21:30 -07:00
Xi Ge
031f173ff7 Merge pull request #23279 from nkcsgexi/quick-help-skip-under
ASTPrinter: skip underscored keyword when printing for quick helps.
2019-03-13 21:28:12 -07:00
Michael Gottesman
78aefb91f0 [ast] If a CaseStmt has a fallthrough in its body, stash it into a tail allocated pointer field.
rdar://47467128
2019-03-13 18:12:49 -07:00
Xi Ge
1625bcfbba ASTPrinter: skip underscored keyword when printing for quick helps.
rdar://47777848
2019-03-13 17:53:51 -07:00
Xi Ge
b9877c21f8 Merge pull request #23255 from nkcsgexi/proco-filter
SourceKit: allow expression type request to specify a list of protocol USRs for filtering
2019-03-13 17:16:35 -07:00
Azoy
e8bc662b35 Cleanups from Slava's comments
update module format
2019-03-13 18:58:45 -05:00
Azoy
6f7d20b99e Synthesize default values for memberwise init
Introduce stored property default argument kind

Fix indent

Assign nil to optionals with no initializers

Don't emit generator for stored property default arg

Fix problem with rebase

Indentation

Serialize stored property default arg text

Fix some tests

Add missing constructor in test

Print stored property's initializer expression

cleanups

preserve switch

complete_constructor

formatting

fix conflict
2019-03-13 18:57:36 -05:00
Xi Ge
35b17d7a6c SourceKit: allow expression type request to specify a list of protocol USRs for filtering
The client usually cares about a subset of all expressions. A way to differentiate
them is by the protocols these expressions' types conform to. This patch allows
the request to add a list of protocol USRs so that the response only includes those
interested expressions that conform to any of the input protocols.

We also add a field to the response for each expression type to indicate the
conforming protocols names that were originally in the input list.

When an empty list of protocol USRs are given, we report all expressions' types
in the file like the old behavior.

rdar://35199889
2019-03-13 14:07:33 -07:00
Erik Eckstein
abccbd8c8c runtime: make the old remangler allocation free.
Extract common code from the old and new remangler into a common base class.
This lets the old remangler benefit from the changes I did recently in the new remangler.
2019-03-13 11:49:58 -07:00
Erik Eckstein
64d5f4cd35 Demangler: remove a dead function.
NFC
2019-03-13 11:49:58 -07:00
Mike Ash
597dcd8f3f [Stdlib][Frontend][CMake] Remove SWIFT_DARWIN_ENABLE_STABLE_ABI_BIT option, make it permanently on. 2019-03-13 09:31:50 -04:00
Slava Pestov
e9bd15f7fc SILOptimizer: More generic specializer plumbing for using the right resilience expansion
Also NFC for now.
2019-03-13 02:21:53 -04:00
Slava Pestov
c93ec45e62 SIL: Plumb resilience expansion through when lowering capture types
For now this is NFC.
2019-03-13 02:08:32 -04:00
Brent Royal-Gordon
21b96d4840 Merge pull request #23175 from brentdax/theres-a-path-for-everyone
Look for runtime library modules in the SDK, too
2019-03-12 22:27:01 -07:00
Saleem Abdulrasool
d36af3b3b0 Merge pull request #22725 from compnerd/windows-conforms
IRGen: make Windows use resilient conformances
2019-03-12 20:22:46 -07:00
swift-ci
14f530ed0b Merge pull request #23239 from gottesmm/pr-e583ec89d59c41a88ee3d6cc7ed0d1a1acdb0b91 2019-03-12 13:37:05 -07:00
Pavel Yaskevich
9802875ce1 Merge pull request #23187 from theblixguy/fix/SR-10062
[Typechecker] Disallow default argument to inout parameter
2019-03-12 12:11:00 -07:00
Michael Gottesman
abe5fa931f [ownership] init_existential_ref is not forwarding: it should only traffic in owned values. 2019-03-12 11:14:15 -07:00
Slava Pestov
123fee960e Merge pull request #23228 from slavapestov/type-lowering-is-trivial
Replace SILType::isTrivial(SILModule) with isTrivial(SILFunction)
2019-03-12 13:44:10 -04:00
Slava Pestov
8915f96e3e SIL: Replace SILType::isTrivial(SILModule) with isTrivial(SILFunction) 2019-03-12 01:16:04 -04:00
Slava Pestov
00b4662ab9 SILOptimizer: Clean up the generic specializer a bit 2019-03-12 01:16:04 -04:00
Slava Pestov
c791c4a137 SIL: SILUndef must be aware of the resilience expansion
The ownership kind is Any for trivial types, or Owned otherwise, but
whether a type is trivial or not will soon depend on the resilience
expansion.

This means that a SILModule now uniques two SILUndefs per type instead
of one, and serialization uses two distinct sentinel IDs for this
purpose as well.

For now, the resilience expansion is not actually used here, so this
change is NFC, other than changing the module format.
2019-03-12 00:30:35 -04:00
Suyash Srijan
e21430a6af [typechecker] disallow default argument to inout parameter 2019-03-12 02:57:28 +00:00
Brent Royal-Gordon
46ddb2a607 [NFC] Support many runtime library import paths
Replaces SearchPathOptions::RuntimeLibraryImportPath with an equivalent std::vector of paths. Also reimplements SearchPathOptions::SkipRuntimeLibraryImportPaths to cause the list of runtime library import paths to be empty, rather than exiting early from SerializedModuleLoader::findModule().
2019-03-11 19:06:51 -07:00
Ravi Kandhadai
249b11a018 [SIL Diagnostics] Improve diagnostics for yield-once coroutines
when the coroutines yield in some paths but not in all paths.

<rdar://48184430>
2019-03-11 18:15:35 -07:00
Saleem Abdulrasool
8357457764 IRGen: avoid constant conformances on Windows
Windows does not permit cross-module data accesses to be direct.  This
is a problem for public protocols with root conformances which are
external.  Use a runtime initialiser for the root protocol conformance
chaining to alleviate this issue.  This shows up in the Foundation
build.
2019-03-11 14:12:55 -07:00
swift-ci
5561698212 Merge pull request #23203 from gottesmm/pr-0e0ce29c3de5830682e4acbcfae7f36e572a08a5 2019-03-10 16:38:08 -07:00
Harlan Haskins
bef17468ae Merge pull request #22603 from harlanhaskins/where-do-i-stash-my-cache-hashes
[ParseableInterface] Flesh out parseable module loading
2019-03-10 16:10:09 -07:00
Michael Gottesman
6af14bdb4b [parse] Implement a dump method on Scope using a new debugVisit method on TreeScopedHashTable.
This is just for use in the debugger when one may want to know what is in the
current scope. The order is not guaranteed but at least it can provide /some/
info ignoring that property. These are no-ops when not in asserts and I put in a
compile time warnign to make sure it is not used in the actual code base.
2019-03-10 15:37:19 -07:00
swift-ci
6d446bde69 Merge pull request #23202 from gottesmm/pr-0525f4ab8178425504710b5509f04cc9b88f5cda 2019-03-10 15:27:03 -07:00
Michael Gottesman
8c7fe94234 [gardening] Eliminate unneeded public: in TreeScopedHashTable.
There is already a public: specifier some lines above this one. It is unneeded.
2019-03-10 14:26:33 -07:00
Rintaro Ishizaki
da45b8d765 Merge pull request #22957 from rintaro/ide-completion-initializer-rdar40944761
[CodeCompletion] Force type check pattern binding for initializer
2019-03-08 16:13:24 -08:00
Saleem Abdulrasool
c3ea1103de Merge pull request #23116 from jmittert/60to0mph
Fix the Rest of the Windows Driver Tests
2019-03-08 15:29:40 -08:00
Rintaro Ishizaki
1038011c67 [CodeCompletion] Force type check pattern binding for initializer
Also, do not handle parsed decls in first-pass. Because they are
re-parsed, they used to case duplicated decls in AST.

rdar://problem/40944761
2019-03-08 13:42:08 -08:00
Xi Ge
f1ba7ef167 Merge pull request #23172 from nkcsgexi/token-receiver-back
Parser: properly handle token receiver in back tracking scopes
2019-03-08 12:52:18 -08:00
swift-ci
70a0d4a5a1 Merge pull request #23182 from davezarzycki/latest_clang_build_fix 2019-03-08 11:02:18 -08:00
David Zarzycki
b032d0b38f [Runtime] NFC: Move LLVM_ATTRIBUTE_USED from declaration to definition
This is both more correct and now required to keep building with
top-of-tree clang.
2019-03-08 12:35:53 -05:00
Saleem Abdulrasool
fbd456b84d SwiftRemoteMirror: repair the windows build
This symbol is meant to be exposed to users of the SwiftRemoteMirror
library which requires that it is explicitly marked with the appropriate
DLL storage on Windows.  This should repair the Windows build.
2019-03-08 07:59:21 -08:00