Commit Graph

976 Commits

Author SHA1 Message Date
Adrian Prantl
ff63eaea6f Remove \brief commands from doxygen comments.
We've been running doxygen with the autobrief option for a couple of
years now. This makes the \brief markers into our comments
redundant. Since they are a visual distraction and we don't want to
encourage more \brief markers in new code either, this patch removes
them all.

Patch produced by

      for i in $(git grep -l '\\brief'); do perl -pi -e 's/\\brief //g' $i & done
2018-12-04 15:45:04 -08:00
Ted Kremenek
6c8bed847f Merge pull request #20374 from tkremenek/swift5-verison
Bump compiler version to Swift 5.
2018-11-16 04:30:08 -08:00
Michael Ilseman
c5ce63a5cc Merge pull request #20599 from milseman/emoji_tag
[Character] Permit tagged emoji Character literals
2018-11-15 13:21:35 -08:00
Saleem Abdulrasool
9cc9a94d56 Merge pull request #20469 from tinysun212/pr-os-macro-cygwin-2
[LangOptions] os(Cygwin) is not true on Cygwin
2018-11-15 12:13:34 -08:00
Michael Ilseman
bca1b74427 [Character] Permit tagged emoji Character literals
Loosen up the compiler's grapheme analysis to allow the emoji tagged
sequences as graphemes.
2018-11-15 09:06:20 -08:00
Joe Groff
2f4a90178c Merge pull request #20582 from jckarter/multi-payload-xi-empty
Fix ClusteredBitVector::fromAPInt for zero-sized vectors.
2018-11-14 17:41:13 -08:00
Ted Kremenek
cf2dce9166 Merge branch 'master' of https://github.com/apple/swift into swift5-verison
# Conflicts:
#	test/api-digester/Outputs/stability-stdlib-source.swift.expected
2018-11-14 17:31:55 -08:00
Joe Groff
4428d479aa Fix ClusteredBitVector::fromAPInt for zero-sized vectors.
A one-bit zero APInt is a reasonable stand-in for everywhere we need this.
2018-11-14 14:05:21 -08:00
Vinicius Vendramini
f6c7815799 Add a few fixes mentioned in the code review. 2018-11-14 13:38:01 -02:00
Vinicius Vendramini
e123750c12 Add option to dump AST to files
This adds two things:
- Calling `swiftc -dump-ast foo.swift [...] -o foo.ast` will dump the AST to the file `foo.ast`, instead of dumping it to `stderr` as usual.
- Calling `swiftc -dump-ast -output-file-map=outputFileMap.json *.swift [...]`, given an `outputFileMap.json` file that contains entries in the form `"ast-dump": "foo.ast"`, will dump the ASTs of the input files to their respective output files in the file map.

This should serve as a valid workaround to a bug mentioned in [the forums](https://forums.swift.org/t/error-when-dumping-the-ast-for-hundreds-of-files/17578) where the AST dump functionality crashes when called with too many input files. A few implementation details were also discussed in the same forum post.

As an aside, this also fixes a comment in `include/swift/Basic/PrimarySpecificPaths.h` that was incorrect.
2018-11-14 13:38:01 -02:00
Han Sang-jin
859f144b75 [LangOptions] os(Cygwin) is not true on Cygwin
`Target.isOSWindows()` and `Target.isWindowsCygwinEnvironment()` are both true in Cygwin.
We should check the `os(Cygwin)` before `os(Windows)`.
2018-11-10 11:23:00 +09:00
Ted Kremenek
748dae7d10 Merge remote-tracking branch 'upstream/master' into swift5-version
# Conflicts:
#	validation-test/stdlib/HashedCollectionFilter3.swift
#	validation-test/stdlib/HashingPrototype.swift
2018-11-09 09:39:22 -08:00
Ted Kremenek
46510a5eba Bump compiler version to Swift 5.
Main pieces:

- Bump swift-version to 5
- Remove -swift-version 3 support
2018-11-06 14:38:55 -08:00
Michael Gottesman
a761d7c0ba Revert "Revert "Revert "[Build System: CMake] make add_swift_library a wrapper to add_llvm_library"""
This reverts commit 121f5b64be.

Sorry to revert this again. This commit makes some pretty big changes. After
messing with the merge-conflict created by this internally, I did not feel
comfortable landing this now. I talked with Saleem and he agreed with me that
this was the right thing to do.
2018-11-06 13:24:00 -08:00
Graydon Hoare
e272ece309 Merge pull request #20170 from graydon/text-interface-to-module
Switch from .sid files to using FILE_DEPENDENCY records in INPUT_BLOCK
2018-11-06 07:52:09 -08:00
Saleem Abdulrasool
121f5b64be Revert "Revert "[Build System: CMake] make add_swift_library a wrapper to add_llvm_library""
This reverts commit 103f9a8246.
2018-11-05 14:37:40 -08:00
Xi Ge
103f9a8246 Revert "[Build System: CMake] make add_swift_library a wrapper to add_llvm_library" 2018-11-02 12:49:07 -07:00
Graydon Hoare
4938b002b4 [ModuleInterface] Remove SwiftParseableInterfaceDeps files, use INPUT_BLOCK. 2018-11-01 10:51:16 -07:00
Saleem Abdulrasool
c3555cf0c4 add_swift_host_library: special handling for GYB sources 2018-10-31 12:46:31 -07:00
Saleem Abdulrasool
c5c64ca3ea add_swift_host_library: rename LLVM_COMPONENT_DEPENDS to LINK_COMPONENTS 2018-10-31 12:46:31 -07:00
Saleem Abdulrasool
39dde93c88 add_swift_host_library: rename LINK_LIBRARIES to LINK_LIBS 2018-10-31 12:46:31 -07:00
Saleem Abdulrasool
e0b839330d add_swift_host_library: remove C_COMPILE_FLAGS 2018-10-31 12:46:31 -07:00
Michael Gottesman
3f17bb6ddf Carefully split the build's invocation of add_swift_library into host/target variants.
The key thing here is that all of the underlying code is exactly the same. I
purposely did not debride anything. This is to ensure that I am not touching too
much and increasing the probability of weird errors from occurring. Thus the
exact same code should be executed... just the routing changed.
2018-10-27 12:58:51 -07:00
Graydon Hoare
dc006e883a [ModuleInterface] Add new SwiftParseableInterfaceDeps file type (.sid). 2018-10-18 00:31:24 -07:00
Nathan Hawes
b1c8013701 Merge pull request #19782 from nathawes/incremental-parsing-bug
[incrParse] Fix bug mapping a node's location back to its location in the cached syntax tree
2018-10-12 15:43:11 -07:00
Graydon Hoare
4f315363f8 [ModuleInterface] Change TY_SwiftModuleInterfaceFile to TY_SwiftParseableInterfaceFile 2018-10-11 23:56:19 -07:00
Nathan Hawes
5c568af436 [incrParse] Fix bug mapping a node's location back to its location in the cached syntax tree
Also fix Edit::intersectsOrTouchesRange check only returning true when the
ranges overlapped, rather than when they overlapped or 'touched'.

Resolves rdar://problem/45108439
2018-10-08 15:44:38 -07:00
Jordan Rose
ceaa5db623 Merge pull request #17960 from danielmartin/new-unary-operator-ifconfig
[Parser] Support "<" unary operator in #if swift() and #if compiler() expressions
2018-09-26 15:00:48 -07:00
Nathan Hawes
44f4df49df [sourcekit] Fix line+column -> offset conversion when on the last line of a file with no terminating newline
This was causing local refactorings (which are line+column-based) to fail due to
the provided location being considered invalid, even though the available
refactorings request (which uses offset directly) reported them as available.
2018-09-20 18:25:45 -07:00
Saleem Abdulrasool
4baa775726 Merge pull request #19297 from compnerd/unreachable
litter the tree with `llvm_unreachable`
2018-09-14 09:04:56 -07:00
Graydon Hoare
5a563f59af [Stats] Add SWIFTC_MAXIMUM_DETERMINISM to inhibit parallelism everywhere. 2018-09-13 16:15:49 -07:00
Saleem Abdulrasool
d281b98220 litter the tree with llvm_unreachable
This silences the instances of the warning from Visual Studio about not all
codepaths returning a value.  This makes the output more readable and less
likely to lose useful warnings.  NFC.
2018-09-13 15:26:14 -07:00
swift-ci
6f3b6182bc Merge pull request #15665 from graydon/everybody-gets-a-tracer 2018-09-05 00:46:20 -07:00
Saleem Abdulrasool
0314bb1dc2 Basic: guard against nullptr for env
`env` is a default'ed parameter.  In some cases it may be passed a `nullptr`,
which is not a valid parameter to `llvm::toStringRefArray`.  Guard against this
case.  This allows the swift compiler to work again on Windows!
2018-09-04 11:48:51 -07:00
Graydon Hoare
1c87229104 [Stats] Flush Stats profiles and tracers at SILModule lifecycle boundary. 2018-09-01 00:05:58 -07:00
Graydon Hoare
044157821e [Stats] Assert main-thread-only use of UnifiedStatsReporter. 2018-09-01 00:05:58 -07:00
Harlan
dc1bc823e6 [InterfaceGen] Remove #ifs from default arguments (#19075)
* [InterfaceGen] Remove #ifs from default args

This patch removes all #if configs form the bodies of default arguments,
which can contain multiline closures, while preserving the bodies of the
clauses that are active.

This code is generalized and should "just work" for inlinable function
bodies, which will come in a later patch.

* Address review comments

* Fix and test CharSourceRange.overlaps

* Fix CharSourceRange::print to respect half-open ranges
2018-08-31 20:18:48 -07:00
Saleem Abdulrasool
468d9c36bc Merge pull request #19056 from compnerd/no-wait
Basic: use new signature for `ExecuteNoWait`
2018-08-31 15:58:03 -07:00
swift-ci
88c41c6560 Merge pull request #19072 from graydon/sometimes-a-memory-aint-enough 2018-08-30 17:46:44 -07:00
Graydon Hoare
e7d0e0d47e [Stats] Only update process-wide counters for frontends. 2018-08-30 14:55:07 -07:00
Graydon Hoare
fb7e7eb028 [Stats] Add statistic for Frontend.MaxMallocUsage. 2018-08-30 14:54:26 -07:00
Saleem Abdulrasool
d425ec110e Basic: use new signature for ExecuteNoWait
Adjust the remaining instance of the `ExecuteNoWait` to use the
llvm::ArrayRef<StringRef> without an implicit conversion.  This allows swiftc to
build on Windows once again.
2018-08-29 13:00:24 -07:00
Jordan Rose
c89ce68359 Fix comment typo in e224e31720 (#19019) 2018-08-28 17:21:57 -07:00
Jordan Rose
e224e31720 Break almost all dependencies of Driver on Frontend
- Sink OutputFileMap{.h,.cpp} and ReferenceDependencyKeys.h to Basic
- Remove unnecessary includes of Frontend.h.
2018-08-27 20:47:58 -07:00
Graydon Hoare
a25dd40fb9 [Stats] Clear all timers on print, since they stopped self-clearing recently. 2018-08-25 01:24:24 -07:00
Saleem Abdulrasool
0605f7b2d7 Merge pull request #18911 from compnerd/arrayref-update
Basic: update the use of the `ExecuteNoWait` API
2018-08-24 14:47:43 -07:00
Alex Hoppen
077d8e8a90 [swiftBasic] Simplify bound checks for ExponentialGrowthAppendingBinaryByteStream 2018-08-23 20:44:21 -07:00
Alex Hoppen
49f2e14094 [swiftBasic] Use a SmallVector as the underlying storage for ExponentialGrowthAppendingBinaryByteStream 2018-08-23 09:00:27 -07:00
Alex Hoppen
ff68452301 [swiftBasic] Introduce an exponentially growing appending binary stream
It is more efficient than llvm::AppendingBinaryByteStream if a lot of
small data gets appended to it because it doesn't need to resize its
buffer on each write.
2018-08-23 08:14:02 -07:00
Saleem Abdulrasool
dd0dd7b2d1 Basic: update the use of the ExecuteNoWait API
This now takes `ArrayRef<StringRef>` and `Optional<ArrayRef<StringRef>>`
parameters.  Explicitly update the interfaces to match.  This is particularly
important to repair the Windows build.
2018-08-22 15:34:29 -07:00