Commit Graph

150 Commits

Author SHA1 Message Date
Slava Pestov
e1f50b2d36 SE-0193: Rename @_inlineable to @inlinable, @_versioned to @usableFromInline 2018-03-30 21:55:30 -07:00
Harlan
527cce409a [Syntax] Don't pretty-print -emit-syntax JSON output (#15380) 2018-03-27 10:55:59 -04:00
Michael Gottesman
0bc86e095f Replace -enable-guaranteed-normal-arguments with -disable-guaranteed-normal-arguments.
rdar://38874323
2018-03-26 12:25:22 -07:00
David Ungar
3376ca741d Add frontend check to ensure that all primaries are present in the supplementary output filemap. 2018-03-22 14:57:27 -07:00
Jordan Rose
c5dcf01aca Merge pull request #14814 from jrose-apple/dump-truck
Dump (some) filelists in the PrettyStackTrace
2018-03-12 09:13:20 -07:00
Jordan Rose
6243096b0b Dump input filelists in the PrettyStackTrace
This may help us reproduce a failing build when all we have is a build
log, and will become much more important in batch mode when we
/really/ need to know what ended up in what batch.

For now, this doesn't include /output/ filelists, because David's
about to mess with that code anyway to make things better around
supplementary outputs in batch mode. There is one weirdness there,
though, which is that ArgsToFrontendInputsConverter peeks at the
outputs to see whether we're doing single-threaded or multi-threaded
WMO.
2018-03-09 18:32:02 -08:00
swift-ci
f8155903a1 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-06 18:58:20 -08:00
Saleem Abdulrasool
645a32620c Merge branch 'master' into empty 2018-03-06 16:06:02 -08:00
Saleem Abdulrasool
b67d5f0cf7 test: convert rm -rf && mkdir -p into %empty-directory
This converts the instances of the pattern for which we have a proper
substitution in lit.  This will make it easier to replace it
appropriately with Windows equivalents.
2018-03-06 14:30:54 -08:00
swift-ci
7033af151e Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-06 08:58:22 -08:00
Jordan Rose
be4c2b97fc Merge pull request #14950 from Nonchalant/sr_7040_redundant_D
[SR-7040] Redundant prefix of compilation flag specific error
2018-03-06 08:56:27 -08:00
Nonchalant
daef1cb771 fix arguments testcase to handle specific error 2018-03-04 08:49:58 +09:00
swift-ci
412f98896a Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-02 21:58:19 -08:00
Graydon Hoare
bf01c4e978 [BatchMode] Remove uses of -bypass-batch-mode-checks in tests, no longer needed. 2018-03-02 19:29:44 -08:00
swift-ci
a33878de91 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-02 13:19:52 -08:00
David Ungar
31dd56bfa9 Add regression test. 2018-03-02 08:32:14 -08:00
swift-ci
508eb418bd Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-02-28 19:40:31 -08:00
Graydon Hoare
ac11a2688c [BatchMode] Fix a single-primary assumption in FrontendTool, add test. 2018-02-28 15:57:27 -08:00
swift-ci
b3cb20a507 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-02-27 09:58:10 -08:00
Andrew Trick
3992a8c94f Print and parse the [canonical] function attribute. 2018-02-27 09:53:13 -08:00
swift-ci
57714e19e7 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-02-08 14:39:05 -08:00
David Ungar
ef02d0bfc0 Cleaner handling of cases where action produces no output or where there are no inputs. 2018-02-08 13:22:49 -08:00
David Ungar
ba4f2a84b4 Move supplementary outputs to SupplementaryOutputs in FrontendInputsAndOutputs. 2018-02-07 13:55:32 -08:00
swift-ci
cc373f9c30 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-01-08 12:27:47 -08:00
Erik Eckstein
cd3d50a5d9 ABI: Change the mangling prefix from _T0 to $S 2018-01-06 13:55:59 -08:00
Bob Wilson
a84243c4e8 master-next: Stop using -m*-version-min options for the clang importer.
As of Clang r321099, the OS version specified on the target triple is
sufficient. Note that Arnold independently came up with this same patch
in https://github.com/apple/swift/pull/13556.
2017-12-20 13:02:01 -08:00
Pavel Yaskevich
c18edfc632 [Mangling/ABI] NFC: Fix test failures uncovered by CI on i386 (IRGen/stdlib/DebugInfo) 2017-12-18 21:06:54 -08:00
Pavel Yaskevich
170ccbd36d [Mangling/ABI] NFC: Fix Frontend/APINotes/Index tests to reflect label mangling changes 2017-12-18 15:45:50 -08:00
David Ungar
9c78480bdf Enforce exclusivity between -primary-file and -primary-filelist. 2017-12-13 09:45:53 -08:00
David Ungar
fb141bb16d Fix primary not found diagnostic. 2017-12-13 09:28:43 -08:00
David Ungar
c3c9e90865 Add primary file list. 2017-12-13 04:03:37 -08:00
David Ungar
28b206008f FrontendInputs data structure redo.
- Outlaw duplicate input files, fix driver, fix tests, and add test.
- Reflect that no buffer is present without a (possibly pseudo) named file.
- Reflect fact that every input has a (possible pseudo) name.
- Break up CompilerInstance::setup.

Don't bail on dups.
2017-12-05 17:28:03 -08:00
David Ungar
ab0c44d2b7 Merge pull request #13183 from davidungar/move-in-to-next-imm-out-fix-rb1
Break up ParseFrontendOptions and reorganize module and output files computation, V2.
2017-12-04 19:27:27 -08:00
David Ungar
15d63b7fbe Add Requires line to test. 2017-12-01 19:21:48 -08:00
David Ungar
df21c6c266 Taking Jordan's suggestions. 2017-12-01 17:39:08 -08:00
David Ungar
ccb73783dc Bug fixes & module name cleanup.
Unify actionHasOutput w/ doesActionProduceOutput & correct both.
Do not set an output filename if there is no output.
Add test to ensure no output is created in immediate mode.

Restore NFC module name computation.
2017-12-01 12:44:32 -08:00
Arnold Schwaighofer
f21f3758ba embed-bitcode.ll test: Use -Xllvm -debug-pass=Structure to dump the LLVM
passes

The test case looks for the Objective C ARC contraction pass. It uses
-Xllvm  -time-passes and then greps for the pass.  It seems that
-time-passes is not always printing the pass. Use -Xllvm
-debug-pass=Structure instead that should print the added passes
reliably.

rdar://35796399
2017-12-01 11:20:01 -08:00
Jordan Rose
23897e136c -embed-bitcode: Pass -O options to backend jobs too! (#12971)
Otherwise, we leave optimization opportunities on the table, and in
some cases even fail to remove marker intrinsics inserted by earlier
optimization.

Background: under -embed-bitcode, compilation happens in two stages: a
"frontend" job that compiles Swift code, generates LLVM IR, optimizes
it, and then emits a .bc file; and a "backend" job that takes that
.bc, converts it to assembly, and emits an object file with the
original bitcode embedded. However, there are actually optimization
passes that run before and during that "convert to assembly" step that
were getting completely skipped.

rdar://problem/34864094
2017-11-16 13:45:31 -08:00
Huon Wilson
44045e24da [test] Update SIL printing/parsing tests for 'witness_method: <protocol>'. 2017-11-01 11:33:27 -07:00
Slava Pestov
0e9641b774 Serialization: Don't serialize non-serialized SIL witness tables
Fixes <rdar://problem/34794790>.
2017-10-26 23:58:50 -07:00
Roman Levenstein
35a624bb15 Update tests after removing -sil-serialize-witness-tables 2017-10-20 19:45:29 -07:00
Jordan Rose
98949efe93 [test] Tweak tests to not depend on the host stdlib or SDK (#12423)
Otherwise, we get into trouble when only building iOS libraries and
then running tests (on macOS).

rdar://problem/33971531&33971705
2017-10-13 17:22:40 -07:00
Slava Pestov
6478256b20 SIL: Relax some verifier checks when merging partial modules
When merging partial SIL modules we only link in function bodies defined
in the current module, so we might encounter functions with shared
linkage and no body.

Since pulling in these functions from other modules is a waste of time,
run the verifier in "single function" mode in this case.

Note that when the module is ultimately used and one of these functions
is deserialized, we should link in all downstream functions with shared
linkage, and failure to do so will be caught by the SIL verifier then.

Fixes <rdar://problem/34469704>.
2017-09-18 23:59:23 -07:00
Alex Hoppen
1c7e289b96 [Mangling] Adjust subscript mangling to not include "subscript"
Change the mangling of accessors to have a variable or subscript node
as their only child node, while subscript nodes no longer contain a decl
name.
2017-09-10 19:44:07 +02:00
Kuba (Brecka) Mracek
d03a575279 Unify the capitalization across all user-visible error messages (#11599)
* Unify the capitalization across all user-visible error messages (fatal errors, assertion failures, precondition failures) produced by the runtime, standard library and the compiler.

* Update some more tests to the new expectations.
2017-08-29 12:16:04 -07:00
Huon Wilson
151bbf95a3 [Driver] Obey -emit-module-path in -wmo that only does -emit-module. 2017-08-23 11:18:52 -07:00
Harlan
37f88e7372 Add frontend flag to serialize Syntax tree (#11095)
* Add frontend flag to serialize Syntax tree

* Rename dump-serialized-syntax-tree to emit-syntax
2017-07-21 14:23:50 -07:00
Robert Widmann
f04c8179fe Downgrade conditional compilation assignment error to a warning
To unblock certain projects that are using malformed flags, downgrade
this specific error to a warning for now.

rdar://33018039
2017-06-27 16:59:52 -07:00
Arnold Schwaighofer
318be46e6b We also need to pass a min-vers string to the ClangImporter when running under the embed-bitcode mode
Otherwise, it will return the wrong triple when queried.

rdar://32863670
2017-06-22 13:22:04 -07:00
Jordan Rose
65391ccac5 [ClangImporter] Don't pass API notes options when compiling bitcode. (#10422)
Avoids a bogus "argument unused" warning, since bitcode compilation
doesn't bother to set up much of a Clang AST context. (-embed-bitcode
compiles in two steps: source -> bitcode, then bitcode -> object
file. This is about the second step.)

Patch by Bob Wilson, who's currently on vacation but wanted this to
get in sooner rather than later.

rdar://problem/31372950
2017-06-20 16:02:34 -07:00