Commit Graph

4111 Commits

Author SHA1 Message Date
Arnold Schwaighofer
c77da027c7 Attemp to fix python lint errors 2018-11-06 12:32:57 -08:00
Graydon Hoare
71da5ec519 Fix flake8 warning W605 invalid escape sequence. 2018-11-06 11:38:39 -08:00
Arnold Schwaighofer
b102c7f6b4 Parser/Sema/SILGen changes for @_dynamicReplacement(for:)
Dynamic replacements are currently written in extensions as

extension ExtendedType {
  @_dynamicReplacement(for: replacedFun())
  func replacement() { }
}

The runtime implementation allows an implementation in the future where
dynamic replacements are gather in a scope and can be dynamically
enabled and disabled.

For example:

dynamic_extension_scope CollectionOfReplacements {
  extension ExtentedType {
    func replacedFun() {}
  }

  extension ExtentedType2 {
    func replacedFun() {}
  }
}

CollectionOfReplacements.enable()
CollectionOfReplacements.disable()
2018-11-06 09:58:36 -08:00
Saleem Abdulrasool
14dbc9ae14 Merge pull request #20329 from compnerd/frameworks
build: pass the framework path to the importer
2018-11-06 00:11:20 -08:00
swift-ci
2c9616f9c0 Merge pull request #20330 from nkcsgexi/install-swiftsyntax 2018-11-05 21:56:42 -08:00
Graydon Hoare
4aa01e908a Fix flake8 warning E741 ambiguous variable name 'l'. 2018-11-05 21:01:33 -08:00
Graydon Hoare
ea2c1db5b0 Fix flake8 warning E722: use of bare except. 2018-11-05 21:01:33 -08:00
Mishal Shah
ecebc6b206 Update swift-syntax branch to swift-5.0-branch 2018-11-05 17:57:47 -08:00
Mishal Shah
22368d52e9 Update branches in swift-5.0-branch scheme 2018-11-05 17:50:54 -08:00
Saleem Abdulrasool
a94f317857 build: adjust rpath, don't pass -F to the link
Pass the framework only to the importer as `-F` on ELF is used for the
`DT_FILTER`.  Adjust the `DT_RUNPATH` so that the dependent libraries are found.
2018-11-05 14:25:12 -08:00
Xi Ge
d471a5905a build-script: teach the script to optionally install swiftsyntax. 2018-11-05 12:32:02 -08:00
Simon Evans
8609c1e41a cmake: Enable CTEST_OUTPUT_ON_FAILURE to show corelibs-foundation test failure 2018-11-04 17:12:54 +00:00
Ted Kremenek
7af28e88f4 Merge pull request #19860 from spevans/pr_sr_8876
SR-8876: Always build libicu on Linux
2018-11-02 13:41:17 -07:00
Daniel Rodríguez Troitiño
d3e5af6f18 [android] Push test binaries w/o modifying executable name. (#19960)
At least test_rth.swift is checking the name of the executable
during the test, so renaming every executable to __executable in
Android will never work.

Also, during the rth tool execution, all the results from before
and after are pushed for every test. Since Android copies the
passed files without relative paths, the library files will
overwrite each other, making the test fail.

Depends on #19949 (more or less)
2018-11-02 11:03:08 -07:00
Simon Evans
6188980324 SR-8876: Update for CMake build for Foundation
- Copy ICU licence into final install.
2018-11-02 17:37:12 +00:00
Simon Evans
cb32792e76 update_checkout.py: Add support for tags and optional repositories.
- Update --reset-to-remote to support tags.

- Add optional platform entry to a repository. This allows specifying
  which platforms a repo should be checked out on.
2018-11-02 17:37:12 +00:00
Simon Evans
3b2ebeecf4 SR-8876: Always build libicu on Linux
- Uses version 61.1 from ICU Github unicode-org/icu repository.

- Updates mixin_linux_installation to add libicu option.

- Use -j when building libicu.

- When buiding ICU, use --with-library-suffix=swift
  This suffixes the ICU symbols with _swift.

  The libaries are now named libicuucswift, libicui18nswift
  and libicudataswift.

- Add the contents of uconfig.h.prepend into uconfig.h. This avoids
  passing the renaming CFLAGS to swift and swift-corelibs-foundation.

Also resolves:

SR-5618: libicu compilation should happen in parallel respecting -j.
2018-11-02 17:37:12 +00:00
Saleem Abdulrasool
679fc7d792 Merge pull request #20032 from compnerd/cmake-foundation
build: switch swift-corelibs-foundation to CMake
2018-11-01 20:10:27 -07:00
Xi Ge
f5dca09a66 build-script: infer swiftpm executables if swiftpm isn't built. 2018-11-01 15:26:26 -07:00
Saleem Abdulrasool
58a4f0deaf build: switch swift-corelibs-foundation to CMake
swift-corelibs-foundation has had a CMake based build system for a while
now.  Switch the official builds over to it.
2018-10-31 13:58:08 -07:00
swift-ci
65a04a713b Merge pull request #20163 from dabrahams/xcpretty-warnings 2018-10-30 16:54:40 -07:00
Dave Abrahams
5f4fabdd87 [emacs-support] Parse warnings that have been munged by xcpretty 2018-10-30 14:42:36 -07:00
Saleem Abdulrasool
8828bef868 Merge pull request #19949 from drodriguez/android-adb_test_runner-pushes-arguments
[android] adb_test_runner.py pushes file arguments.
2018-10-30 10:16:03 -07:00
Argyrios Kyrtzidis
4964e2de30 [build-script] When building packages install libIndexStore from clang (#20132)
This is needed for the LSP service.
2018-10-29 17:10:26 -07:00
Michael Gottesman
d6323fbf24 [build-preset] Add no_test variants of all of the buildbot_linux_* presets.
The key thing is that these skip all testing except for the integration testing
and thus are perfect for subproject buildbot testing.

The reason why I am doing this is I discovered that dispatch is not using
build-presets. This means that dispatch may not get updated properly (resulting
in integration test failures) when we add new package installation dependencies
(like llvm-cov, llvm-profdata) for the integration tests.

This is functionally the same as dispatch's build today except that we /will/
build lldb. That being said I think it makes sense to build the entire package
for dispatch so if we have any integration issues in between lldb and dispatch
we can test them.

SR-9080
2018-10-27 15:18:19 -07:00
Adrian Prantl
023ac85383 Enable verbose logging for LLDB tests when building with Xcode 2018-10-26 16:48:55 -07:00
Daniel Rodríguez Troitiño
555e085d78 [build-script] Support for Android aarch64
Support for Android aarch64 in many parts of the build-script. Most of
the changes are reuse variables/parameters that already existed for
Android ARMv7. There is also a new parameter to specify the ICU
data library, which is used by #19503.

With this one can build either armv7 or aarch64, since building both
at the same time requires more changes like #19432 (and probably
more work to support two set of paths).
2018-10-26 12:24:40 -07:00
Michael Gottesman
0ad5ff6935 Merge pull request #20044 from gottesmm/pr-da4f63eeb78dff4e1978fe8f790a49e81cee8a9e
[build-script] When building packages install llvm-cov, llvm-profdata…
2018-10-25 18:15:06 -07:00
Ross Bayer
c3a9498f03 Removed the use of bash subshells to execute the test commands per project in build-script-impl. The original reasoning seems to have been to disable Ninja's output buffering which was causing the lit progress bar to behave oddly, however local (parallel) testing does not show any peculiarities now. (#20025) 2018-10-25 15:00:36 -07:00
Michael Gottesman
b24e333738 [build-script] When building packages install llvm-cov, llvm-profdata for use with swiftpm.
rdar://44567818
2018-10-25 11:08:19 -07:00
Daniel Rodríguez Troitiño
bf10e0bbeb [android] adb_test_runner.py pushes file arguments.
Some tests need more than just the executable to be pushed. For
example the resilience tests need the executable and the linked
library to be pushed. adb_test_runner.py only pushed the
executable.

The changes look into the arguments passed to the executable
and figure out which ones refer to files. Those files are pushed
to the device and transformed to refer to the path on the device
instead (the resilience test do not actually use the argument
values themselves, but maybe others do).
2018-10-24 13:00:43 -07:00
swift-ci
3ab5e5c870 Merge pull request #19940 from drodriguez/android-adb_test_runner-envvars 2018-10-23 20:01:27 -07:00
Jordan Rose
6cd780395b [CMake] Make GNU-style response files for long argument lists (#18958)
...i.e. an actual shell-like argument list, rather than a
semicolon-separated list (CMake's internal stringification mechanism
for lists). Apart from being a little easier to read, this also works
directly with the response file support in swiftc itself now (not
depending on utils/line-directive).

(It's still not /quite/ enough to expand on a command-line, though,
since that will escape the quotes. The 'sed' command can get around
that: $(sed "s/'//g" foo.txt).)
2018-10-23 19:45:56 -07:00
Saleem Abdulrasool
9c92317ce6 build: do not consult the legacy location for libraries
Update the commands to use the CMake based output directory locations instead of
the legacy staging location.  This will allow us to stop copying the files for
compatibility.
2018-10-23 14:12:34 -07:00
mishal_shah
b44feabefc Codesign dylibs after stripping the debug symbols 2018-10-18 16:28:13 -07:00
Daniel Rodríguez Troitiño
44108a8d7c [android] Pass test environment variables to Android device.
When running tests in an Android device, the environment variables
were not passed to the device, which make some test fail, like
stdlib/HashingRandomization that test with and without the
environment variable SWIFT_DETERMINISTIC_HASHING.

The changes implement a process similar to what the iOS simulator
already seem to do: a variable prefix which is pick up by the
adb_test_runner.py and send to the device for the test.
2018-10-18 14:06:48 -07:00
Saleem Abdulrasool
6360bcc8c0 Merge pull request #19834 from compnerd/exports
build: use the exported config for libdispatch
2018-10-18 09:40:31 -07:00
Daniel Rodríguez Troitiño
a75d5b4294 [android] Disable LLD when cross-compiling Android in CI.
Ubuntu 16.04 doesn't include LLD, and the included gold doesn't
link Android correctly.

Because of the change in e7ba154d59
the -B option was not passed during compiling, and the Ubuntu gold
was being used in the CI (the default value for
SWIFT_ENABLE_LLD_LINKER is ON, even if LLD is not present).

This change sets the value to OFF in the preset, so LLD will not
try to be used in CI. All other builds should be unchanged, so in
other developers setups the compiling machine LLD will try to be
used (which works on more recent Ubuntu versions).
2018-10-16 17:30:08 -07:00
Mishal Shah
8df2419476 Update swift 5.0 branches for Clang/LLVM/Compiler-rt 2018-10-15 14:42:56 -07:00
Mark Lacey
ab0ae73f94 Merge pull request #19816 from rudkx/extend-operator-designated-type
Add support for multiple designated types for an operator declaration.
2018-10-12 15:47:17 -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
Nathan Hawes
efa2c5475d [incrParse] Update text-util.py to handle multiple edits and reparse ranges on the same line
It wasn't accounting for the prefix length before a reparse tag previously when
keeping track of pre_column_offset and post_column_offset.
2018-10-11 14:31:32 -07:00
Mark Lacey
5e0cb1978a Fix libSyntax support for operator decl designated types. 2018-10-11 13:36:14 -07:00
Saleem Abdulrasool
b99a0f4af5 build: use the exported config for libdispatch
Pass along the configuration through the exported target for the standard
library.  Still pass the compiler by hand to allow building libdispatch against
just a build of the standard library.
2018-10-11 12:37:26 -07:00
John McCall
32c7e4bbfa Fix libSyntax support for yields with expression lists. 2018-10-09 15:34:54 -04:00
tokorom
ea2c860ddb [vim] Add swiftDefaultLabelRegion 2018-10-08 14:40:08 +09:00
tokorom
5f3775e319 [vim] Add swiftCaselLabelRegion 2018-10-08 14:37:23 +09:00
Daniel Rodríguez Troitiño
b84f4033e7 [android] adb_push_build_products.py support for aarch64.
A new parameter for the adb_push_build_product.py script to allow
pushing the right libc++_shared.so for the host architecture.
2018-10-04 16:15:02 -07:00
John Holdsworth
d5deefa744 Fix problem preventing new build system from using custom toolchains (#19509) 2018-10-04 10:55:59 -07:00
Jordan Rose
c3b1143b15 Merge pull request #19607 from Kaiede/debianHost
Enable i686 as a Host Platform
2018-10-02 16:24:58 -07:00