Commit Graph

1938 Commits

Author SHA1 Message Date
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
David Ungar
4866df6dfd Move SupplementaryOutputs into each InputFile. 2018-02-28 09:41:49 -08:00
swift-ci
00dfc9cff2 Merge remote-tracking branch 'origin/master' into master-next 2018-02-28 08:12:19 -08:00
swift-ci
20aa946489 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-02-28 08:00:40 -08:00
John McCall
8d93cee012 Add a superclass reference to class descriptors. 2018-02-28 00:38:00 -05:00
swift-ci
32cebd1de4 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-02-26 08:57:55 -08:00
swift-ci
63b1e11bd1 Merge remote-tracking branch 'origin/master' into master-next 2018-02-26 08:49:36 -08:00
Joe Groff
b00ea61945 SILGen: Lower keypath references to other modules' properties and subscripts as external keypath components.
This way we'll link against the key path component the other module provides instead of making fragile assumptions about its current implementation. Since external keypath lowering isn't fully implemented elsewhere in the compiler, this is enabled behind a staging flag.

external keypath staging
2018-02-23 12:58:19 -08:00
swift-ci
00fb7dc414 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-02-21 19:37:48 -08:00
swift-ci
c2a6871095 Merge remote-tracking branch 'origin/master' into master-next 2018-02-21 19:28:52 -08:00
Graydon Hoare
628c446fe3 [Stats] Add -profile-stats-{events,entities} 2018-02-21 16:22:48 -08:00
Graydon Hoare
7fe97c77c5 [Stats] Permit negative counters and deltas. 2018-02-21 14:49:24 -08:00