Commit Graph

1449 Commits

Author SHA1 Message Date
swift-ci
6bf55465a1 Merge remote-tracking branch 'origin/master' into master-next 2018-04-23 22:29:25 -07:00
Huon Wilson
b866e43265 [NFC] Squash \param documentation warning. 2018-04-24 13:30:35 +10:00
swift-ci
1ffaa392aa Merge remote-tracking branch 'origin/master' into master-next 2018-04-18 14:29:17 -07:00
swift-ci
ea39ceae79 Merge pull request #15999 from graydon/rdar-39504759-keep-demultiplexing-after-first-read 2018-04-18 14:18:48 -07:00
Graydon Hoare
c1682fa465 [Driver] <rdar://39504759> Continue demultiplexing subprocess output after initial read. 2018-04-18 11:52:11 -07:00
swift-ci
56f86aaa4d Merge remote-tracking branch 'origin/master' into master-next 2018-04-18 10:29:08 -07:00
David Zarzycki
a8fbe3a18e [AST] NFC: Repack misc DeclAttribute bits into inline bitfield 2018-04-18 11:25:11 -04:00
swift-ci
bef92f0ff2 Merge remote-tracking branch 'origin/master' into master-next 2018-04-16 12:27:50 -07:00
Michael Gottesman
5113657db6 [stringref-upgrade] Inject llvm::StringLiteral into the Swift namespace like we have done with StringRef.
StringLiteral is a subclass of StringRef that is intended to be used for global
constant strings in a constexpr context.

I am going to be refactoring some uses of const char foo[] = ""; to use this
instead.
2018-04-16 09:54:36 -07:00
swift-ci
115f220410 Merge remote-tracking branch 'origin/master' into master-next 2018-04-11 22:15:16 -07:00
Saleem Abdulrasool
a80dd5b963 Basic: attempt to repair inverted dependencies
When linking on Linux, we would fail with unresolved symbol references
to swift::FrontendStatsTracer::getTraceFormatter<T>. The use of the
types, which are defined in swiftSIL occur in swiftBasic.  Provide
inline definitions of the constructors which cause the dependency on
some environments (e.g. Linux).
2018-04-10 10:40:10 -07:00
swift-ci
6bb22ede85 Merge remote-tracking branch 'origin/master' into master-next 2018-04-02 16:02:12 -07:00
Michael Gottesman
c59a1e5410 [gardening] Standardize indentation in BlotMapVector.h
Part of the file was following LLVM style for class indentation and other parts
were not. This commit makes it consistent.
2018-04-02 11:29:49 -07:00
Michael Gottesman
2007badf6b [blot-map-vector] Merge blot/erase => erase.
They do the same thing.
2018-04-02 11:29:49 -07:00
swift-ci
78672fca82 Merge remote-tracking branch 'origin/master' into master-next 2018-04-02 09:29:23 -07:00
Andrew Trick
9923d5d9cf Fix usability issues with BlotVector.
- Add const getItems().

- Fix const find().

- erase() returns a boolean.

- Set erase() should not perform two lookups.

The implementation is covered by the unit tests with a small addition.

Other trivial API changes are trivially tested in upcoming commits.
2018-03-31 17:39:54 -07:00
swift-ci
d130b47237 Merge remote-tracking branch 'origin/master' into master-next 2018-03-28 06:09:13 -07:00
Sho Ikeda
9c3e4848bf [gardening][Basic] Replace typedef with using 2018-03-28 21:27:26 +09:00
swift-ci
c5884dc38a Merge remote-tracking branch 'origin/master' into master-next 2018-03-27 18:13:31 -07:00
Slava Pestov
fd6bfcab3f Runtime: New RelativeIndirectPointer template
We have RelativeDirectPointer and RelativeIndirectablePointer. The latter
cannot be used with function pointers because it assumes the payload is
2-byte aligned and uses the least significant bit to dynamically
distinguish a direct pointer from an indirect pointer.

For resilient conformances, we want to use protocol dispatch thunks as
keys in the witness table template. They're not 2 byte aligned, and
they're always defined in a different image, so we need an unconditional
indirect relative pointer template.
2018-03-27 16:24:18 -07:00
swift-ci
65d71c8fc1 Merge remote-tracking branch 'origin/master' into master-next 2018-03-26 11:50:42 -07:00
John McCall
b75baac19d Accomodate values with non-trivial constructors in PrefixMap. 2018-03-26 01:13:45 -04:00
swift-ci
6cbb6bb362 Merge remote-tracking branch 'origin/master' into master-next 2018-03-23 18:24:26 -07:00
Ted Kremenek
fe75380a71 Merge pull request #15407 from tkremenek/driver-ver-4.2
[WIP] Added -swift-version support for 4.2
2018-03-23 18:10:08 -07:00
Ted Kremenek
3da51018b6 Teach ClangImporter to handle effective Swift version with minor release.
Needed to support Swift 4.2.
2018-03-23 00:30:44 -07:00
Ted Kremenek
f1e0c2be33 Add “4.2” to ValidEffectiveVersions. 2018-03-21 14:39:35 -07:00
swift-ci
66e0251b8a Merge remote-tracking branch 'origin/master' into master-next 2018-03-21 11:11:24 -07:00
Jordan Rose
00361df52b Put non-frozen enum exhaustivity diagnostics behind a frontend flag
...spelled '-enable-nonfrozen-enum-exhaustivity-diagnostics'. This
is for staging purposes.
2018-03-20 10:39:02 -07:00
swift-ci
a948e52936 Merge remote-tracking branch 'origin/master' into master-next 2018-03-19 10:43:42 -07:00
John McCall
31f2eec044 Change type metadata accessors to support incomplete metadata.
This includes global generic and non-generic global access
functions, protocol associated type access functions,
swift_getGenericMetadata, and generic type completion functions.

The main part of this change is that the functions now need to take
a MetadataRequest and return a MetadataResponse, which is capable
of expressing that the request can fail.  The state of the returned
metadata is reported as an second, independent return value; this
allows the caller to easily check the possibility of failure without
having to mask it out from the returned metadata pointer, as well
as allowing it to be easily ignored.

Also, change metadata access functions to use swiftcc to ensure that
this return value is indeed returned in two separate registers.

Also, change protocol associated conformance access functions to use
swiftcc.  This isn't really related, but for some reason it snuck in.
Since it's clearly the right thing to do, and since I really didn't
want to retroactively tease that back out from all the rest of the
test changes, I've left it in.

Also, change generic metadata access functions to either pass all
the generic arguments directly or pass them all indirectly.  I don't
know how we ended up with the hybrid approach.  I needed to change all
the code-generation and calls here anyway in order to pass the request
parameter, and I figured I might as well change the ABI to something
sensible.
2018-03-18 21:38:08 -04:00
swift-ci
4e3f00ae6e Merge remote-tracking branch 'origin/master' into master-next 2018-03-12 09:29:56 -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
8e0cd417eb Merge remote-tracking branch 'origin/master' into master-next 2018-03-09 12:09:24 -08:00
Jordan Rose
41286bc676 Make JSON fix-it outputs be per-primary in batch mode. (#14995)
This means moving the output path into SupplementaryOutputPaths, and
using the same sort of diagnostic dispatching that serialized
diagnostics use. This is part of what's needed to run the migrator
in batch mode.
2018-03-09 11:58:54 -08:00
swift-ci
fc771e7fe4 Merge remote-tracking branch 'origin/master' into master-next 2018-03-06 21:08:53 -08:00
swift-ci
e81189d6ec Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-06 20:58:17 -08:00
Slava Pestov
6065168928 Parse: Test that we only parse function bodies in primary files
I added this optimization a while ago but didn't add a test for it.
2018-03-06 19:42:43 -08:00
swift-ci
6c60b1d3e7 Merge remote-tracking branch 'origin/master' into master-next 2018-03-06 16:49:22 -08:00
swift-ci
73f148384e Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-06 16:38:13 -08:00
Sho Ikeda
26d650292f [gardening] Use empty() over size() == 0 2018-03-05 14:43:13 +09:00
swift-ci
9dbb5effd5 Merge remote-tracking branch 'origin/master' into master-next 2018-03-04 01:29:35 -08:00
swift-ci
b3282e7f25 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-04 01:18:05 -08:00
John McCall
6729f2f5ab Fix a simple bug.
Apparently I had not tested this with anything that actually
set a flag to 'false'.
2018-03-04 00:01:56 -05:00
swift-ci
c95feb723b Merge remote-tracking branch 'origin/master' into master-next 2018-02-28 20:12:23 -08:00
swift-ci
9e935e1a9e Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-02-28 20:00:51 -08:00
Jordan Rose
3cd9f166bc Don't spend time initializing LLVM when running the driver (#14896)
Tiny start-up time optimization noticed while looking at how we do
PrettyStackTraceProgram. Also add PrettyStackTraceProgram to a few
more of our testing tools, via the new PROGRAM_START macro.
2018-02-28 19:56:19 -08:00
swift-ci
ab78849797 Merge remote-tracking branch 'origin/master' into master-next 2018-02-28 11:51:52 -08:00
swift-ci
78a4e268b3 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-02-28 11:41:18 -08:00
David Ungar
9cc534a05a Merge pull request #14702 from davidungar/PR-18-7-OutputsInInputs
[Batch mode]: Move SupplementaryOutputs into each InputFile and use the proper supplementary output. (7)
2018-02-28 11:31:47 -08:00