Commit Graph

4111 Commits

Author SHA1 Message Date
Ben Langmuir
d685728d4a Merge pull request #21886 from benlangmuir/install-components-default
Set a reasonable default for SWIFT_INSTALL_COMPONENTS
2019-01-17 10:12:44 -08:00
Saleem Abdulrasool
230bee457f Merge pull request #21884 from compnerd/round-trip-flight
utils: port round-trip-syntax-test to windows
2019-01-17 09:28:01 -08:00
Xi Ge
d2095a822e Merge pull request #21926 from nkcsgexi/dot-self-optional-base
SyntaxNodes: DotSelfExpr should have optional base expression.
2019-01-16 23:37:32 -08:00
Gwynne Raskind
664e5659c5 Merge pull request #21910 from gwynne/drop-litre-references
Remove all references to unused LitRe tool
2019-01-16 18:49:55 -06:00
adrian-prantl
6914e6e411 Merge pull request #21935 from adrian-prantl/speedup-compat
Add a lit regex filter for the compatibility tests
2019-01-16 16:05:44 -08:00
Ben Langmuir
aac60468a2 Set a reasonable default for SWIFT_INSTALL_COMPONENTS
Previously, build-script-impl would set this to "" by default, resulting
in nothing being installed with --install-swift unless you explicitly
set --swift-install-components as well.  Now we defer to cmake by
default.

On the cmake side, change the default value to exclude
* dev - uses a lot of disk space and usually not something you want to
  install into a toolchain
* clang-resource-dir-symlink & clang-builtin-headers-in-clang-resource-dir -
  these are mutually exclusive with clang-builtin-headers
* sourcekit inproc/xpc - these are currently mutually exclusive, so pick
  the best one for the current platform.
2019-01-16 14:48:02 -08:00
Adrian Prantl
7967ec19b6 Add a lit regex filter for the compatibility tests
This speeds up the invocation since only a single test matches the
category and otherwise non-dotest.py tests would be run twice.
2019-01-16 14:40:53 -08:00
Xi Ge
9c42e9737b SyntaxNodes: DotSelfExpr should have optional base expression. rdar://46935325 2019-01-16 12:02:52 -08:00
Gwynne Raskind
09b4159cb2 Global replace of "assertEquals" with "assertEqual" in compliance with deprecation of assertEquals name in Python 2.7 2019-01-16 04:06:38 -06:00
Saleem Abdulrasool
7d07ae4192 utils: port round-trip-syntax-test to windows
Use python's builtin diff rather than invoking `/usr/bin/diff` which
does not exist on Windows.  Decode the content into UTF-8 before
processing it for the diff as the file reading will give us UTF-16
content on Windows.
2019-01-15 19:47:55 -08:00
Saleem Abdulrasool
4c6a677517 Merge pull request #21859 from compnerd/be-more-inclusive
build: make the windows build work on Linux again
2019-01-14 22:43:34 -08:00
Mishal Shah
bb87845874 Merge pull request #21866 from apple/ninja-status-format
Update ninja status format to [%f/%t][%p][%es]
2019-01-14 22:13:28 -08:00
Mishal Shah
29077ad1e1 Update ninja status format to [%f/%t][%p][%es] 2019-01-14 18:08:50 -08:00
Argyrios Kyrtzidis
7a383f4b1d [build-script-impl] Pass search paths for the syntax parser library to the stress-tester build
Fixes rdar://47265256
2019-01-14 16:52:33 -08:00
Saleem Abdulrasool
4272595453 build: make the windows build work on Linux again
Update the SDK overlay to have enough of the entries to make the WinSDK build
when building the SDK overlay on Linux.
2019-01-14 15:34:40 -08:00
adrian-prantl
ada75dcefb Merge pull request #21843 from adrian-prantl/lldb-syntax
Fix more shell syntax errors in the LLDB asan configuration
2019-01-14 11:40:30 -08:00
Adrian Prantl
622753daa4 Fix more shell syntax errors in the LLDB asan configuration 2019-01-14 09:48:50 -08:00
Rintaro Ishizaki
b446d6b051 Merge pull request #21377 from rintaro/ide-contextinfo
[SourceKit][IDE] New SourceKit request to retrieve context type information
2019-01-15 01:54:16 +09:00
Gwynne Raskind
02603ca57a Fix typo in comment 2019-01-13 21:15:56 -06:00
Saleem Abdulrasool
c453bb9417 Merge pull request #21816 from LynnKirby/SR-9644
[gyb] Fix Windows path normalization
2019-01-13 10:02:02 -08:00
swift-ci
41ac9ca002 Merge pull request #21806 from adrian-prantl/LLVM_LIT_ARGS 2019-01-11 18:34:57 -08:00
Lynn Kirby
43f188a061 [gyb] Fix Windows path normalization
A number of gyb tests (gyb --test) were failing on Windows. It appears it was
introduced by commit d57b41e which altered the behaviour of line
directives to print paths with forward-slashes even on Windows.

This commit changes two areas of gyb.py:

1. Doctests use normalized paths where applicable.

2. Path normalization is done early in ParseContext initialization
instead of when formatting line directives in ExecutionContext.append_text.

Fixes: SR-9644
2019-01-11 21:16:39 -05:00
Adrian Prantl
94c2e467fb Simplify build-script: LLVM_LIT_ARGS is already being added to cmake_options. 2019-01-11 15:06:11 -08:00
adrian-prantl
908646f9ca Merge pull request #21801 from adrian-prantl/lit
[build-script] Pass LLVM_LIT_ARGS to llvm-lit
2019-01-11 12:59:50 -08:00
Adrian Prantl
a7f2f1b497 [build-script] Pass LLVM_LIT_ARGS to llvm-lit 2019-01-11 12:07:51 -08:00
Argyrios Kyrtzidis
9c0403761d Merge pull request #21762 from akyrtzi/syntax-parser-clib
Introduce C parser library
2019-01-11 11:19:50 -08:00
Adrian Prantl
59ddf34cee Fix a syntax error in build script 2019-01-11 08:20:31 -08:00
Argyrios Kyrtzidis
70c954e1ea [utils/build-script-impl] Pass header/lib paths to the syntax parser library for the build-script invocation of SwiftSyntax 2019-01-10 18:52:37 -08:00
Adrian Prantl
1db8e37f0d Limit the number of concurrent LLDB tests running in the asan configuration. 2019-01-10 12:38:50 -08:00
Argyrios Kyrtzidis
39019f2292 [CMake] Add 'parser-lib' install component and install the relevant files
The files go into 'lib/swift' so that SwiftSyntax can import the library without needing custom search paths to be added to the swiftpm invocation.
2019-01-10 09:10:11 -08:00
Rintaro Ishizaki
3797b7a334 [SourceKit] New request to retrieve context type information
This is a new SourceKit request which receives a position in the source
file, returns possible expected types and their members which can be
referenced by "implicit member expression" syntax.
2019-01-11 00:49:57 +09:00
Argyrios Kyrtzidis
8f4bb24dd1 [utils/incrparse] Fix python-lint issues 2019-01-09 22:36:48 -08:00
Argyrios Kyrtzidis
1dc288fb23 Introduce C parser library
Add a shared library with a C API that provides access to the syntactic parser with callbacks for the inference of raw syntax nodes.
This is primarily intended to be used by SwiftSyntax to speed-up source code parsing for it.
2019-01-09 18:30:45 -08:00
Ben Langmuir
601783af74 [update-checkout] Add indexstore-db and sourcekit-lsp
All schemes currently use the master branch.
2019-01-09 15:31:17 -08:00
Brent Royal-Gordon
9dd5d1293c Rework swift-stress-tester repo building (#21523)
This change makes build-script-impl use a new, shared version of swift-stress-tester’s build-script-helper.py which also supports building swift-evolve. It also adds the necessary flags and variables to build swift-evolve from build-script.
2019-01-09 14:03:35 -08:00
swift-ci
43f68caa8e Merge pull request #21654 from apple/dabrahams/line-directive-usage 2019-01-08 03:10:32 -08:00
Argyrios Kyrtzidis
aba7fa1f15 [utils/incrparse] Introduce testWithParserLib() helper function
This is to allow swift-syntax to run its lit tests without needing to execute swift-syntax-test
for incremental reparsing.
2019-01-07 22:41:34 -08:00
Argyrios Kyrtzidis
1f1eab638f [Parse/Syntax] Replace ParsedSyntaxRecorder::record* calls from the parser with ParsedSyntaxRecorder::make*
Doing a "direct ParsedSyntaxRecorder::record[some syntax]" call from the parser is not a good idea due to possibility
of being in a backtracking context when the call is made. Replace them with "ParsedSyntaxRecorder::make[some syntax]"
which will implicitly check for backtracking and create a recorded or deferred node accordingly.
2019-01-07 19:56:36 -08:00
Argyrios Kyrtzidis
eae5fd5ff0 [utils/gyb_syntax_support] Fix python-lint issues 2019-01-07 19:52:59 -08:00
Argyrios Kyrtzidis
ab7427723e [Parse/Syntax] Refactoring to decouple the parser from syntax tree creation
Instead of creating syntax nodes directly, modify the parser to invoke an abstract interface 'SyntaxParseActions' while it is parsing the source code.
This decouples the act of parsing from the act of forming a syntax tree representation.
'SyntaxTreeCreator' is an implementation of SyntaxParseActions that handles the logic of creating a syntax tree.
To enforce the layering separation of parsing and syntax tree creation, a static library swiftSyntaxParse is introduced to compose the two.

This decoupling is important for introducing a syntax parser library for SwiftSyntax to directly access parsing.
2019-01-07 19:52:59 -08:00
Dave Abrahams
c4d76fdc5c Satisfy the python linter 2019-01-07 15:27:48 -08:00
Dave Abrahams
a6ffb59bd1 Fix python linter issues 2019-01-07 15:21:36 -08:00
Dave Abrahams
4433a9f89e [line-directive] Add usage and explanatory text 2019-01-04 17:59:04 -08:00
Dave Abrahams
d3aa33ae52 Tweak help for the --line-directive option
Most people don't know what this is for and set it to "", robbing themselves of usability benefits.  I'm going to add more help text to line-directive to explain that.
2019-01-04 17:38:45 -08:00
Saleem Abdulrasool
550478a048 Merge pull request #21612 from johnno1962/os-suffux
Correct OS suffix for Linux
2019-01-03 17:24:50 -08:00
John Holdsworth
0a6de02fb9 Correct OS suffix for Linux 2019-01-03 18:33:03 +00:00
Saleem Abdulrasool
65da2148e1 Merge pull request #21561 from compnerd/canonical-path-separator
build: convert paths to CMake paths before use
2019-01-02 08:19:56 -08:00
Saleem Abdulrasool
5ead077f85 vim: detect prefix modifier
THe `prefix` modifier applies to prefix operators.  This is used for the
operator definitions, detect the keyword appropriately.
2018-12-31 19:28:32 -08:00
Saleem Abdulrasool
509060c78a build: convert paths to CMake paths before use
This converts the path separators to the CMake way.  This is primarily
important for Windows where the path separator is \ rather than /.  This
conversion allows the specification of the path in the proper windows
path style.
2018-12-30 12:27:16 -08:00
Mishal Shah
a9c1ea0000 Merge pull request #21471 from drodriguez/android-aarch64-preset
[build-preset] Add Android AArch64 preset.
2018-12-20 23:41:03 -08:00