Commit Graph

1004 Commits

Author SHA1 Message Date
Graydon Hoare
3807b3fa1e [Parse] Add platform conditional targetEnvironment(simulator) 2017-11-28 13:51:01 -08:00
swift-ci
84a54bd654 Merge remote-tracking branch 'origin/master' into master-next 2017-11-09 11:09:14 -08:00
Alex Hoppen
746bfc6d59 [Refactoring] Add refactoring action to move type members to extension (#12795)
This implements SR-6297.
2017-11-09 11:08:34 -08:00
swift-ci
6f7b08c188 Merge remote-tracking branch 'origin/master' into master-next 2017-11-08 22:09:40 -08:00
Graydon Hoare
173e702da2 [Stats] Add a pair of counters to track failed processes. 2017-11-08 19:53:36 -08:00
swift-ci
d1291cd36a Merge remote-tracking branch 'origin/master' into master-next 2017-10-16 22:09:22 -07:00
Erik Eckstein
f343659a75 Mangler: add a dump() function for debugging 2017-10-16 17:30:34 -07:00
swift-ci
1a9725f8a1 Merge remote-tracking branch 'origin/master' into master-next 2017-10-05 23:08:52 -07:00
Graydon Hoare
5d08866e56 [Stats] Warn on failure-to-write stats / trace files. 2017-10-05 19:06:06 -04:00
swift-ci
656a4e856e Merge remote-tracking branch 'origin/master' into master-next 2017-10-03 19:49:00 -07:00
Graydon Hoare
0e5b982d25 [Stats] Only use input filename, not mangled path, in stats file name.
This was causing cases of very long input pathnames to be mangled into
stats filenames greater than 255 characters long, which in turn meant
stats files were not being written in some cases.
2017-10-03 17:10:25 -07:00
Graydon Hoare
77554c1ae2 [Stats] Fix typo. 2017-10-03 17:08:50 -07:00
Michael Gottesman
b369760f43 [upstream-update] Add AMDPAL to getPlatformNameForTriple switch. 2017-10-01 23:22:36 -07:00
swift-ci
025f3a5039 Merge remote-tracking branch 'origin/master' into master-next 2017-09-27 11:49:27 -07:00
David Ungar
443ab7d950 git-clang-format 2017-09-26 18:02:35 -07:00
David Ungar
2af86f5cac First compiling run, WIP 2017-09-26 16:07:07 -07:00
Bob Wilson
0276b0f89d Merge remote-tracking branch 'origin/master' into master-next 2017-09-23 10:09:35 -07:00
Graydon Hoare
85dda86130 Merge pull request #12071 from graydon/trace-stats-deltas
Trace stats deltas
2017-09-22 22:25:58 -07:00
swift-ci
a448d28b77 Merge remote-tracking branch 'origin/master' into master-next 2017-09-22 18:09:44 -07:00
Calvin Hill
aee81d272f Add Initial platform support for Haiku. (#11583) 2017-09-22 21:06:56 -04:00
Graydon Hoare
205f725d6e [stats] Add UnifiedStatsReporter::FrontendStatsTracer 2017-09-22 19:15:34 -04:00
Graydon Hoare
7e1cf168a8 [stats] Factor out UnifiedStatsReporter fields to a .def file 2017-09-22 02:01:06 -04:00
swift-ci
60cf68ee6b Merge remote-tracking branch 'origin/master' into master-next 2017-09-12 14:30:14 -07:00
swift-ci
ad59688523 Merge remote-tracking branch 'origin/master' into master-next 2017-09-12 13:10:30 -07:00
Xi Ge
87ce54e3f2 Re-apply "Paser: IfConfigDecl should reflect the underlying source. rdar://34315827" 2017-09-12 12:59:25 -07:00
Xi Ge
2a07534bc1 Revert "Paser: IfConfigDecl should reflect the underlying source. rdar://34315827"
For test failure witnessed in bots: https://ci.swift.org/job/oss-swift-incremental-RA-osx/462/
2017-09-12 12:49:02 -07:00
swift-ci
ccedf5316f Merge remote-tracking branch 'origin/master' into master-next 2017-09-12 12:09:55 -07:00
Xi Ge
bfe6a64708 Paser: IfConfigDecl should reflect the underlying source. rdar://34315827 2017-09-12 11:58:49 -07:00
swift-ci
546836ceff Merge remote-tracking branch 'origin/master' into master-next 2017-09-11 15:08:53 -07:00
Alex Hoppen
1c7e289b96 [Mangling] Adjust subscript mangling to not include "subscript"
Change the mangling of accessors to have a variable or subscript node
as their only child node, while subscript nodes no longer contain a decl
name.
2017-09-10 19:44:07 +02:00
swift-ci
f0fb66b5e6 Merge remote-tracking branch 'origin/master' into master-next 2017-08-30 20:49:04 -07:00
Robert Widmann
75a83da03e Implement SE-0075: CanImport
This implementation required a compromise between parser
performance and AST structuring.  On the one hand, Parse
must be fast in order to keep things in the IDE zippy, on
the other we must hit the disk to properly resolve 'canImport'
conditions and inject members of the active clause into the AST.
Additionally, a Parse-only pass may not provide platform-specific
information to the compiler invocation and so may mistakenly
activate or de-activate branches in the if-configuration decl.

The compromise is to perform condition evaluation only when
continuing on to semantic analysis.  This keeps the parser quick
and avoids the unpacking that parse does for active conditions
while still retaining the ability to see through to an active
condition when we know we're moving on to semantic analysis anyways.
2017-08-28 18:35:06 -04:00
swift-ci
433a3c3dac Merge remote-tracking branch 'origin/master' into master-next 2017-08-24 14:49:47 -07:00
Graydon Hoare
f236ee6278 Merge pull request #11570 from graydon/slocps
Add NumSourceLines{,PerSecond} counters, fix SourceFile counters for WMO mode
2017-08-24 14:44:47 -07:00
swift-ci
e18086beb5 Merge remote-tracking branch 'origin/master' into master-next 2017-08-24 10:30:27 -07:00
David Ungar
c3e3d45396 Instrument NominalTypeDecl::lookupDirect
Also implement RecursiveSharedTimer
2017-08-23 14:53:53 -07:00
Graydon Hoare
fecffc9c8b [Stats] Add NumSourceLines{,PerSecond} counters. 2017-08-22 16:39:00 -07:00
swift-ci
716b7c6907 Merge remote-tracking branch 'origin/master' into master-next 2017-08-18 17:49:41 -07:00
Ewa Matejska
1272cd3aac Making master call itself 4.1, updating the swift 3 compatiblity mode to be 3.3 (from 3.2), adding ability to pass swift-version 5. Importer work not done yet. 2017-08-17 20:57:01 -07:00
Bob Wilson
213965b629 [master-next] Reapply change to remove Bitrig platform.
This reverts commit 35cbd7e847.
2017-08-03 17:11:42 -07:00
Bob Wilson
35cbd7e847 Roll-back part of master-next change 63a9943a46
The swift-4.1-branch of LLVM still has the Bitrig platform.
2017-08-03 14:12:37 -07:00
Jordan Rose
63a9943a46 Trivial updates for upstream LLVM changes.
- BitRig is gone
- llvm::enumerate's element type now uses methods instead of fields

No intended functionality change.
2017-07-25 14:11:03 -07:00
swift-ci
0a5ee4200a Merge remote-tracking branch 'origin/master' into master-next 2017-07-24 12:48:50 -07:00
Michael Ilseman
f88fb9a97a Be a little more permissive in emoji grapheme literals.
The user experience with extended grapheme literals is currently:

1. Strict: we hard error on "invalid" grapheme literals.

2. Complete: we validate all literals to either be
known-single-grapheme or not.

3. Incorrect: we have Unicode 8 semantics implemented but applications
will have some other version of Unicode as dictated by the OS they are
running on.

In Swift 4.0, this incorrectness mostly crops up in obscure corner
case areas, where we are overly restrictive in some ways and overly
relaxed in others. But, there is one particularly embarrassing area
where it does come up: we reject emoji introduced after Unicode 8 as
grapheme literals, counter to common user expectations.

In a future (sub-)version of Swift we should completely re-evaluate
this user story, but doing so in time for Swift 4.0 is untenable. This
patch attempts to tweak the way in which we are incorrect in the most
minimally invasive way possible to preserve the same user experience
while permitting many post-Unicode-8 emoji as valid grapheme literals.

This change overrides processing of ZWJ and emoji modifiers to not
declare a grapheme break after/before, respectively.
2017-07-21 13:33:03 -07:00
swift-ci
ff0d02fda7 Merge remote-tracking branch 'origin/master' into master-next 2017-07-17 12:29:13 -07:00
Jordan Rose
013a63c724 Remove imports of SILModule.h from files that don't need it.
No functionality change.
2017-07-17 11:54:07 -07:00
swift-ci
e98182387b Merge remote-tracking branch 'origin/master' into master-next 2017-07-11 12:23:35 -07:00
Ben Langmuir
4ce33ced0d Fix sys::Cache for ref-counted values which caused memory leaks in SourceKit
Our libcache implementation of swift::sys::Cache was broken for
ref-counted values (which are used by e.g. the SourceKit ASTManager).
It would always `retain(value)` in `set(key, value)`, but under the hood
libcache shares values, so we would only get one `release(value)` if the
same value was used across multiple keys, or if the same value *and* key
were set multiple times.

This was causing us to never release ASTs cached by SourceKit even when
the underlying libcache purged itself under memory pressure.

rdar://problem/21619189
2017-07-06 13:56:58 -07:00
Bob Wilson
951e26323e Add case for Ananas OS to fix warning after LLVM r306237. 2017-07-05 11:56:00 -07:00
Robert Widmann
0cf1b52452 Treat Cygwin as a separate OS
Cygwin is considered a distinct target with a distinct ABI, environment
conditions, and data types.  Though the goal of the project is
native Windows integration with UNIX-likes, that is not compatible with
the idea that the platform can be ignored as Win-like enough to have the
existing os(Windows) condition apply.
2017-06-28 13:31:05 -07:00