Commit Graph

21 Commits

Author SHA1 Message Date
David Ungar 89061efdf4 Fix bug on OutputFileMap parser when parsing beyond JSON. 2018-03-09 09:54:11 -08:00
Ben Langmuir 20cb3e3eb2 [driver] Add -working-directory option
Adds a -working-directory option which can be used to modify how
relative paths are resolved. It affects all other paths used in driver
options (controlled by a new ArgumentIsPath flag on options) as well as
the contents of output file maps and auxilliary file paths generated
implicitly by the compiler itself.

rdar://37713856
2018-02-21 09:42:05 -08:00
Graydon Hoare e66e0f5ae0 [BatchMode] Add subtree accessors for OutputFileMap. 2018-02-09 14:06:23 -08:00
practicalswift 492f5cd35a [gardening] Remove redundant repetition of type names (DRY): RepeatedTypeName foo = dyn_cast<RepeatedTypeName>(bar)
Replace `NameOfType foo = dyn_cast<NameOfType>(bar)` with DRY version `auto foo = dyn_cast<NameOfType>(bar)`.

The DRY auto version is by far the dominant form already used in the repo, so this PR merely brings the exceptional cases (redundant repetition form) in line with the dominant form (auto form).

See the [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es11-use-auto-to-avoid-redundant-repetition-of-type-names) for a general discussion on why to use `auto` to avoid redundant repetition of type names.
2017-05-05 09:45:53 +02:00
practicalswift 6d1ae2a39c [gardening] 2016 → 2017 2017-01-06 16:41:22 +01:00
practicalswift 797b80765f [gardening] Use the correct base URL (https://swift.org) in references to the Swift website
Remove all references to the old non-TLS enabled base URL (http://swift.org)
2016-11-20 17:36:03 +01:00
practicalswift 8efa5f587e [gardening] Remove "-*- C++ -*-" tag from .cpp files
Emacs assumes .h files are C files by default which is why the
tag "-*- C++ -*-" is needed.

.cpp files do not have this problem.
2016-01-23 12:09:32 +01:00
practicalswift 1339b5403b Consistent use of header comment format.
Correct format:
//===--- Name of file - Description ----------------------------*- Lang -*-===//
2016-01-04 13:26:31 +01:00
practicalswift f91525a10f Consistent placement of "-*- [language] -*-===//" in header. 2016-01-04 09:46:20 +01:00
Zach Panzarino e3a4147ac9 Update copyright date 2015-12-31 23:28:40 +00:00
Arnold Schwaighofer 6d5706bb76 Add a now missing include file
Yay for upstream header cleanup

Swift SVN r26444
2015-03-23 20:32:36 +00:00
Jordan Rose 704b18990e [Driver] Ignore unknown types in the output file map.
This will make future testing easier: Xcode can add a new type to the map
to support newer compilers without breaking older compilers.

rdar://problem/19212339

Swift SVN r23974
2014-12-17 03:14:50 +00:00
Chris Willmore c6ac72e47a Add whole-module optimization option to Swift compiler
Add -whole-module-optimization option as synonym of
-force-single-frontend-invocation (for now). Add support for
-output-file-map when using -whole-module-optimization with multiple
input files -- the key for the single output file's map is the empty string.

<rdar://problem/18603795>

Swift SVN r23625
2014-12-03 00:20:09 +00:00
Dmitri Hrybenko f5299e1108 Update for upstream LLVM API changes
Swift SVN r21527
2014-08-28 12:44:23 +00:00
Adrian Prantl 2fae615ce0 Update for upstream LLVM API change.
Swift SVN r21256
2014-08-18 16:49:32 +00:00
Pete Cooper 0d0defff9a Update which matches clang r212408, ie, using ErrorOr for file loading
Swift SVN r19607
2014-07-07 14:49:01 +00:00
Mark Lacey dccd703315 Use <system_error> rather than llvm/Support/system_error.h.
Rafael removed the latter in r210803.

Swift SVN r18842
2014-06-12 21:53:16 +00:00
Bob Wilson 9ab1136ba8 Update error_code usage to match llvm trunk.
LLVM's system_error.h has been changed to forward to the standard
version of the same. Update usage for the minor API changes that this
entails.

Based in part on a patch by Justin Bogner.

Swift SVN r18832
2014-06-12 19:48:39 +00:00
Dmitri Hrybenko f232267f23 Replace llvm::OwningPtr with std::unique_ptr
It looks like llvm::OwningPtr is going to be removed soon.


Swift SVN r14729
2014-03-06 09:47:17 +00:00
Connor Wakamo 78dbfde1f9 [driver] Implemented support for -driver-print-output-file-map.
This option asks the driver to print its OutputFileMap.
To support this, added OutputFileMap::dump().

Swift SVN r12773
2014-01-22 21:07:06 +00:00
Connor Wakamo 168909bd7f [driver] Added swift::driver::OutputFileMap.
OutputFileMap is responsible for loading an "output file map", which maps input
paths (as specified on the command line) to per-output-kind paths.

This will permit the explicit specification of the outputs of each frontend
invocation: the primary output (e.g. "object" or "sil"), as well as the partial
swiftmodule and serialized diagnostics outputs (if requested).

The format (in JSON) is:

{
  <input> = {
    <kind> = <path>,
    <kind> = <path>,
    ...
  },
  <input> = { ... },
  ...
}

Swift SVN r12771
2014-01-22 21:07:04 +00:00