Commit Graph

2735 Commits

Author SHA1 Message Date
Jonas Devlieghere
5fbab9ddaa [Docs] Fix headings in SIL.rst
Fixes "Title underline too short." warning which is treated as an error.
2019-05-22 17:04:18 -07:00
Arnold Schwaighofer
56924d4962 Document dynamic_function_ref and prev_dynamic_function_ref 2019-05-22 09:13:11 -07:00
0xflotus
ca3449568f Update ARCOptimization.rst (#24724)
* Update ARCOptimization.rst

* Update ARCOptimization.rst
2019-05-14 12:57:13 -07:00
Erik Eckstein
42c11868b6 docs: fix doc build error in LibraryEvolution.rst 2019-05-10 14:19:41 -07:00
Slava Pestov
73aba9b3ee Update LibraryEvolution.rst for new attribute names 2019-05-09 20:41:08 -04:00
Saleem Abdulrasool
671ae9494c Merge pull request #24514 from broadwaylamb/docs-concurrency
[Docs] Modernize Concurrency.rst
2019-05-09 17:24:11 -07:00
Jordan Rose
2bf9bfa584 [docs] Add "storytime" about function arguments vs. tuples (#24519)
As suggested by DaveZ. This was posted by me back on the review for
SE-0111, but it's become a useful post to reference for why Swift's
function arguments aren't just a tuple (in the language or in the
compiler).
2019-05-06 15:46:02 -07:00
Sergej Jaskiewicz
8454cbd17a [docs] Modernize Concurrency.rst
Edit code examples according to Swift API guidelines
2019-05-06 15:48:31 +03:00
Erik Eckstein
0d971eebfe IRGen: mangle conformance access paths with opaque result type as a root
Fixes a crash in IRGen

TODO: also fix the demangler/remangler part of this mangling change.
Currently it's not a problem because we never demangle such a symbol (it's even not round-trip checked in Mangler::verify).

rdar://problem/50405691
2019-05-02 17:19:20 -07:00
Saleem Abdulrasool
2e7c328077 Merge pull request #24168 from xiaobai/sink_component_arg
[CMake] Modify swift_install_in_component to support cmake install components
2019-04-30 21:06:32 -07:00
Erik Eckstein
2e01b0edeb SIL: add assign_by_delegate instruction
Used for property delegates.
2019-04-23 11:32:28 -07:00
Alex Langford
3d9a28925b [CMake] Modify swift_install_in_component to support cmake install components
CMake supports the notion of installation components. Right now we have some
custom code for supporting swift components. I think that for installation
purposes, it would be nice to use the CMake component system.

This should be a non-functional change. We should still only be generating
install rules for targets and files in components we want to install, and we
still use the install ninja target to install everything.
2019-04-19 14:06:11 -07:00
Saleem Abdulrasool
4421d47773 Merge pull request #24125 from apple/compnerd-WSL-no-more
Delete WindowsSubsystemForLinux.md
2019-04-18 17:08:10 -07:00
Saleem Abdulrasool
16a69aa14d Merge pull request #24126 from apple/compnerd-reduction
Update WindowsBuild.md
2019-04-18 16:56:24 -07:00
Saleem Abdulrasool
042047f6fc Update WindowsBuild.md
Clean up the Windows build steps to use `md` and `cd`, remove the unnecessary `pushd`, `popd`, directly invoke `ninja` rather than invoking it through `cmake`.
2019-04-18 09:35:03 -07:00
Saleem Abdulrasool
fff676ee43 Delete WindowsSubsystemForLinux.md
This is duplicated by the Linux rules.  The Windows Subsystem for Linux is not a unique environment, it is an Ubuntu environment running with a bridge into the NT kernel.  There is nothing to be done to support it, just follow the Linux rules.  The Windows documentation has been updated to point users to the Linux section.
2019-04-18 09:26:59 -07:00
Joe Groff
95c43f4e18 Decode opaque types in the runtime demangler. 2019-04-17 14:44:40 -07:00
Joe Groff
05dfec0cda Push the conformance accessor hack down into getTypeByMangledName. 2019-04-17 14:44:40 -07:00
Joe Groff
34620a9be0 IRGen: Use runtime calls to get opaque type metadata and conformances for associated types. 2019-04-17 14:44:40 -07:00
Joe Groff
42e1824a30 Mangle opaque result types. 2019-04-17 14:43:32 -07:00
Saleem Abdulrasool
efa6e85c3c Update WindowsBuild.md
Add single command path modifier for ease.  Fix llbuild path.
2019-04-16 15:04:00 -07:00
Slava Pestov
189a38dea4 Merge pull request #23985 from slavapestov/dynamic-self-thunks
SILGen: Fix function conversions involving DynamicSelfType
2019-04-15 07:42:48 -04:00
swift-ci
34afac0c5e Merge pull request #24029 from apple/compnerd-windows-improvements 2019-04-14 18:12:17 -07:00
Saleem Abdulrasool
b405cb54cf Update Windows.md
The windows port has come far enough along that we can now recommend building with MSVC on Windows.  This provides better debugging, faster builds, and better overall results.
2019-04-14 16:34:59 -07:00
Saleem Abdulrasool
0fe24127b3 Update WindowsBuild.md
The JScript engine is not always associated with `.js` files on Windows these days.  Explicitly specify the engine.
2019-04-14 15:09:28 -07:00
Slava Pestov
42e74f28c0 Demangle: Add node for reabstraction thunk capturing DynamicSelfType
Also, NodePrinter was printing the 'from' and 'to' type backwards,
so fix that.
2019-04-14 18:06:16 -04:00
Saleem Abdulrasool
7682fe1fd3 Update WindowsBuild.md
Update instructions to build swift bindings for llbuild.  Fix sqlite3 build rule.
2019-04-12 14:07:38 -07:00
Saleem Abdulrasool
7f9a32aed1 Update WindowsBuild.md
`XCTEST_PATH_TO_COREFOUNDATION_BUILD` is no longer needed/used.
2019-04-12 09:36:49 -07:00
Saleem Abdulrasool
d29aecadac Update WindowsBuild.md
Fix build rule for llbuild
2019-04-11 13:21:25 -07:00
Saleem Abdulrasool
44005ad186 Update WindowsBuild.md
Ensure that we document that `llbuild` requires a variable set to build since it does not use cross-compile friendly tools by default.
2019-04-10 16:21:22 -07:00
Saleem Abdulrasool
969b3cf25a Update WindowsBuild.md
Drop the GnuWin32 dependency, clean up the header.
2019-04-03 17:31:24 -07:00
Saleem Abdulrasool
edc2504c1d Update WindowsBuild.md
Remove prelude as the documentation now covers the use of `cl` to build as it is stable and does a better job overall compared to `clang-cl` (better generated binaries, faster builds, better (working) debug information).
2019-03-31 13:34:21 -07:00
swift-ci
c5fe015f66 Merge pull request #23599 from shajrawi/testing_os 2019-03-27 12:06:19 -07:00
Joe Shajrawi
ad59d902b9 Set up testing with the standard libraries coming from the OS
We  default Swift tests to use the just-built libraries
See radars rdar://problem/35163663 and rdar://problem/42176864
2019-03-27 11:16:48 -07:00
Saleem Abdulrasool
bf73d872cc Update WindowsBuild.md
Updates for building llbuild, swift-package-manager, sqlite.
2019-03-27 09:58:56 -07:00
Slava Pestov
4207738e17 Add mangling and IRGen LinkEntity for Objective-C resilient class stubs 2019-03-26 18:44:44 -04:00
Saleem Abdulrasool
389c050d7b Update WindowsBuild.md
Adjust build recipe for lldb builds which require ARM support.  Fix quoting.
2019-03-25 14:42:02 -07:00
Bob Wilson
ba75030590 Merge pull request #23375 from bob-wilson/llvm-r355981
Stop using the _branchHint function
2019-03-18 16:55:15 -07:00
Bob Wilson
ef1d9bc7f8 Stop using the _branchHint function
LLVM r355981 changed various intrinsic functions, including expect,
to require immediate arguments. Swift's _branchHint function has an
expected value that is passed in as an argument, so that it cannot
use LLVM's expect intrinsic. The good news is that _branchHint is only
ever used with immediate arguments, so we can just move the intrinsic
into _fastPath and _slowPath and use those instead of _branchHint.

As was noted in the documentation, the _fastPath and _slowPath names are
confusing but we have passed the point where we can simply rename them.
We could add new names but would still need to keep the old ones around
for binary compatibility, and it is not clear that it is worth the
trouble. I have removed that note from the documentation.
2019-03-17 22:13:51 -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
Saleem Abdulrasool
79cf4608c0 Update WindowsBuild.md
Add instructions to enable tests on Windows.  This requires additional patches to libdispatch and Foundation to enable the build as well as run.  But, this is in preparation for those changes to get merged and for others to replicate the test suite.
2019-03-11 19:10:54 -07:00
Manu Sridharan
244a1f2fd7 Fix types in open_existential_addr / value
Result type for `open_existential_addr` should be `$*@opened P`.  Similar change for `open_existential_value`
2019-03-05 16:51:25 -08:00
Saleem Abdulrasool
1206380cea Update WindowsBuild.md
Extract curl build instructions into a step.  This makes it easier to identify where the instructions are.
2019-03-02 15:17:28 -08:00
Saleem Abdulrasool
962f68ddad Update WindowsBuild.md
Corrections and improvements to the documentation to build on Windows.  This includes:
- switching to `cl` for the swift build
- setting up the paths correctly
- correcting the instructions for XCTest builds
- setup to ensure that XCTest can be tested in the future
- fixes to actually get the swift tests to run on Windows
- removal of unnecessary arguments to libdispatch build
2019-02-26 14:15:14 -08:00
Saleem Abdulrasool
887019a5d7 Update WindowsBuild.md
Add instructions for building libxml2.  The libxml2 available for Windows is built against MinGW and requires iconv support.  Simply build our own version of libxml2 to avoid the dependency.
2019-02-25 16:36:17 -08:00
Saleem Abdulrasool
4ce2f990c5 Update WindowsBuild.md
SourceKit now is enabled by default on Windows.
2019-02-25 10:36:31 -08:00
Saleem Abdulrasool
1139f4d3dc Update WindowsBuild.md
Document how to build XCTest for Windows
2019-02-24 18:27:35 -08:00
Saleem Abdulrasool
ef242415e5 Update WindowsBuild.md
Swap order of build for LLVM/clang and CMark.
2019-02-24 15:01:26 -08:00
Saleem Abdulrasool
0809afb1b0 Update WindowsBuild.md
Simplify the CMake invocation for Swift and match `build-script`.
2019-02-22 13:24:04 -08:00
Saleem Abdulrasool
9f0f3e3450 Update WindowsBuild.md
Now that the flags have been fixed for the runtime build, we no longer need to ignore the overly verbose warnings.  We now emit warnings which we should really cleanup.
2019-02-22 10:17:40 -08:00