Commit Graph

4111 Commits

Author SHA1 Message Date
Michael Gottesman
4b7a4f5b4e [build-script-impl] When building parts of Swift without LLVM, always at least build FileCheck/not from LLVM.
These are common utilities used when testing with lit, so it makes sense to
always include them so in these cases we can use them for testing purposes.
2019-05-27 13:52:05 -07:00
Saleem Abdulrasool
43d98fe8bd vim: improve attribute handling
The attribute can be applied to a typename or a type declaration.
Correct the handling for the second case.
2019-05-26 14:24:43 -07:00
Michael Gottesman
e0b220c335 Merge pull request #25063 from brentdax/dash-a
Add build-script -a/-A to control assertions
2019-05-26 13:58:29 -07:00
Saleem Abdulrasool
69674eb95a vim: improve the modifier highlighting
This makes the modifier highlighting stand out against the definition
keyword.
2019-05-25 21:47:12 -07:00
Brent Royal-Gordon
a60e0e0c84 Add build-script -a/-A to control assertions
These are super-important in certain circumstances, paritculalry benchmarking, and deserve a shorthand.
2019-05-25 13:19:20 -07:00
swift-ci
3033a72050 Merge pull request #25056 from compnerd/typealias 2019-05-24 18:46:55 -07:00
Saleem Abdulrasool
1cede8900e vim: improve syntax highlighting for typealias
This improves the detection of syntax so that the identifier for a
typealias is identified as an identifier, the `=` is identified as a
delimiter, and the type that is aliased is identified as a type.
2019-05-24 17:40:36 -07:00
swift-ci
06305b2709 Merge pull request #25028 from akyrtzi/utils-build-parser-flexible 2019-05-23 16:04:45 -07:00
Argyrios Kyrtzidis
fbdcd6e737 [utils/build-parser-lib] Provide an option for list of architectures to build the parser library for 2019-05-23 14:58:24 -07:00
Mike Ash
476b2bb1ea Merge pull request #24989 from mikeash/remote-run-sftp-recursive
[Tests] Pass -r to sftp in remote-run.
2019-05-23 12:13:27 -04:00
Xi Ge
6a204b7dda Merge pull request #25002 from nkcsgexi/digester-missing
swift-api-digester: avoid adding MissingMemberDecl to the json file
2019-05-22 19:28:40 -07:00
Xi Ge
f5853ba44f swift-api-digester: avoid adding MissingMemberDecl to the json file
We explicitly ignore these ABI placeholders to fix an unreachable hit.
2019-05-22 18:09:42 -07:00
swift-ci
bd840d9d5c Merge pull request #24894 from brentdax/build-scriptable 2019-05-22 17:09:57 -07:00
Brent Royal-Gordon
d9700def2a Placate linter 2019-05-22 15:58:24 -07:00
Joe Groff
7d54810b92 Revert "[SourceKit] Fail requests when an error occurs" 2019-05-22 15:18:28 -07:00
Mike Ash
d8a7c5a997 [Tests] Pass -r to sftp in remote-run.
rdar://problem/50503952
2019-05-22 16:07:58 -04:00
Argyrios Kyrtzidis
729a9558e8 Merge pull request #24124 from DavidGoldman/master
[SourceKit] Fail requests when an error occurs
2019-05-22 10:49:42 -07:00
Mishal Shah
b8eca81462 Update the swift-5.1-branch-04-24-2019 scheme for swift-syntax 2019-05-21 17:52:14 -07:00
Joe Groff
33410bced6 Merge pull request #24857 from linux-on-ibm-z/gather-scatter
[IRGen] Remove SetBitEnumerator from ClusteredBitVector
2019-05-21 16:16:57 -07:00
Ben Langmuir
3bdff36d0a [preset] Fix macOS full test preset to include sourcekit-lsp
The smoke test preset tests sourcekit-lsp, and the full test should too.
Note: on Linux this was already working.
2019-05-20 11:42:55 -07:00
Brent Royal-Gordon
af7e2da9ca Replace —print-build-dir with --dump-config
The --dump-config option prints a recursive JSON dump of the BuildScriptInvocation object’s properties, which gives access to essentially all of the knowledge build-script has about the build before it starts performing it. This makes the output more flexible and extensible without severely convoluting the implementation, but doesn’t really give us a stable representation of that data.
2019-05-19 20:58:14 -07:00
Brent Royal-Gordon
b38834621a Provide shorter name for --expand-build-script-invocation
Adds an --expand-invocation argument, which is now the preferred name for this feature. Leaves the original name in place in case someone is using it in a script.
2019-05-19 16:21:02 -07:00
Brent Royal-Gordon
85b30c3cc9 Add --print-build-dir option to build-script
If passed, build-script doesn’t build anything; it just prints the full path to the directory the invocation would have built its products in. This is intended to allow you to build tools which take build-script options like --debug and --xcode and use them to determine the build directory you’re currently using.
2019-05-18 13:06:37 -07:00
Brent Royal-Gordon
26c7f5c5b9 Make --expand-build-script-invocation scriptable
The previous commit moved the note containing the output to stderr. This change prints it on stdout again, but now with no human-consumption prefix so it can be directly executed by tools.
2019-05-18 12:54:47 -07:00
Brent Royal-Gordon
72f8249cb2 Print build-script notes to stderr
This makes it easier to ignore them programmatically.
2019-05-18 12:51:49 -07:00
Julian Lettner
4dcb49d8e7 Merge pull request #24330 from apple/preset-for-llvm-tsan-libdispatch-tests
[build][Linux] Create preset to run LLVM's TSan libdispatch tests
2019-05-17 10:32:55 -07:00
Michael Munday
d3262ec10d [IRGen] Remove SetBitEnumerator from ClusteredBitVector
The change replaces 'set bit enumeration' with arithmetic
and bitwise operations. For example, the formula
'(((x & -x) + x) & x) ^ x' can be used to find the rightmost
contiguous bit mask. This is essentially the operation that
SetBitEnumerator.findNext() performed.

Removing this functionality reduces the complexity of the
ClusteredBitVector (a.k.a. SpareBitVector) implementation and,
more importantly, API which will make it easier to modify
the implementation of spare bit masks going forward. My end
goal being to make spare bit operations work more reliably on
big endian systems.

Side note:

This change modifies the emit gather/scatter functions so that
they work with an APInt, rather than a SpareBitVector, which
makes these functions a bit more generic. These functions emit
instructions that are essentially equivalent to the parallel bit
extract/deposit (PEXT and PDEP) instructions in BMI2 on x86_64
(although we don't emit those directly currently). They also map
well to bitwise manipulation instructions on other platforms (e.g.
RISBG on IBM Z). So we might find uses for them outside spare bit
manipulation in the future.
2019-05-17 11:55:06 +01:00
Julian Lettner
9631700d9e [build][Linux] Create preset to run LLVM's TSan libdispatch tests
Build a separate compiler-rt instance for running the tests. It is built
and tested against an installed toolchain instead of the llvm-build-dir.

Install everything we need to run tests (CMake modules, FileCheck, etc.)
into the toolchain directory.

Add synthetic target 'all' for llvm-install-components. Also we must set
LLVM_INSTALL_UTILS=ON, so the utilities required by tests (e.g.,
FileCheck) are included in the install target.
2019-05-16 13:17:30 -07:00
Rintaro Ishizaki
1ac8da5ee3 Merge pull request #24785 from jansvoboda11/syntax-raw-string-delimiters
[libSyntax] Represent raw string delimiters
2019-05-15 12:36:29 -07:00
swift-ci
924c5198bc Merge pull request #24803 from compnerd/lazy-update 2019-05-15 12:28:04 -07:00
Saleem Abdulrasool
9ac6fe0137 vim: highlight lazy
`lazy` can modify the `var` definition.  Add that as a modifier.
2019-05-15 11:06:47 -07:00
Xi Ge
60ee9527bb Merge pull request #24776 from nkcsgexi/digester-fix
Several swift-api-digester fixes
2019-05-15 10:55:14 -07:00
Jan Svoboda
b0f6168660 [libSyntax] Represent raw string delimiters 2019-05-15 09:15:03 +02:00
Xi Ge
f7881eed66 cmake: specify only one component toolchain-tools for swift-api-digester 2019-05-14 15:04:11 -07:00
Daniel Rodríguez Troitiño
0de91dcc1e Merge pull request #23822 from drodriguez/build-script-product-builder-ninja
[build-script] Introduce ProductBuilder. Transform Ninja to use it.
2019-05-14 11:56:41 -07:00
Andrew Trick
22e5c55b3a Merge pull request #24717 from atrick/cache-field-number
Cache struct/class field offsets in SIL.
2019-05-14 08:36:33 -07:00
Rintaro Ishizaki
0283e4dbcb Merge pull request #24718 from kitasuke/SR-10241_string_literal
SR-10241 Consolidate StringInterpolationExpr to StringLiteralExpr in Syntax
2019-05-14 08:25:32 -07:00
Andrew Trick
c7b4e7c8b4 Add scale-test --save-temps option.
I'm not sure how anyone debugs these tests otherwise.
2019-05-13 16:54:55 -07:00
Daniel Rodríguez Troitiño
b45dfdeabd [windows] Make build-windows.bat use CRLF endings.
Seems that Batch files need to use CRLF endings or the labels sometimes
does not work.
2019-05-13 15:38:08 -07:00
Daniel Rodríguez Troitiño
c648a71ef6 Merge pull request #24077 from drodriguez/temporary-windows-build-script
[windows] Add build script for Windows.
2019-05-13 13:15:11 -07:00
Daniel Rodríguez Troitiño
5c0e743fa5 [build-script] Introduce ProductBuilder. Transform Ninja to use it.
ProductBuilder allows us to tackle the different way than the different
products need to be build. The builders follow a very simple interface,
but inside them the details are hidden.

Previously the Ninja product was both a Product and ProductBuilder. The
methods that did the build have moved into ProductBuilder to match the
future ProductBuilders.
2019-05-13 12:36:29 -07:00
Ted Kremenek
4beb673b8e Bump compiler version to Swift 5.1 (#24671)
* Bump version to Swift 5.1

* Update tests with compiler version bump

* Undo flatMap and math obsolescences
2019-05-13 07:32:39 -07:00
kitasuke
b583fef8e2 Consolidate StringInterpolationExpr to StringLiteralExpr 2019-05-12 11:23:00 +09:00
Daniel Rodríguez Troitiño
f23f3fec58 [windows] Add build script for Windows.
This is a build script for Windows, intended for CI, not really for
final users.

The script mixes bits from WindowsBuild.md, and the Azure YAML script.
It only builds up to libdispatch, including LLDB. If more products are
ready, we can improve the script, but keeping in mind this should be a
temporary solution.

The script needs a couple of environment variables from the build
machine (the Python installation path and the type of build), and also
needs Visual Studio tools in path and its environment variables. Besides
that, it should be self-contained.
2019-05-10 10:39:24 -07:00
Daniel Rodríguez Troitiño
f70c41b0de Merge pull request #24551 from drodriguez/android-allow-skipping-clean
[android] Allow skipping adb_clean.py
2019-05-08 11:11:02 -07:00
Daniel Rodríguez Troitiño
b3d6214b6c Merge pull request #23673 from drodriguez/update-checkout-env-windows
[update-checkout] Don't use env for portability.
2019-05-07 12:16:12 -07:00
Daniel Rodríguez Troitiño
f0eece342a [android] Allow skipping adb_clean.py
In normal cases, adb_clean.py cleaning the temporal directory is a good
idea because all the tests run in a clean state, and previous executions
do not influence the current one.

However, when iterating and running only one or two tests with
utils/run-test, removing all the artifacts and uploading them to the
device can turn each iteration into waiting a couple of minutes. Since
the changes in between tests should only touch a couple of libraries (or
none at all, if the test itself is the modification), avoiding a full
clean is beneficial.

The commit modifies `adb_clean.py` to allow providing the environment
variable `SKIP_ANDROID_CLEAN`, which will simply not execute the script.

Since the introduction of #24146, only the modified
artifacts will be uploaded, and the test iteration can be very fast
(including no time, if there are no changes).
2019-05-06 18:00:21 -07:00
kitasuke
5debb929da Rename StringInterpolationSegments to StringLiteralSegments 2019-05-06 09:37:37 +08:00
David Goldman
a3a4d2d22b Add InternalDiagnostic to CursorInfoData and NameTranslatingInfo 2019-05-03 11:01:22 -04:00
Ben Langmuir
a7fe27ae28 Appease python linter 2019-05-02 12:56:18 -07:00