Skip to content

Commit 358364f

Browse files
committed
---
yaml --- r: 349219 b: refs/heads/master-next c: 233f864 h: refs/heads/master i: 349217: 84bf8ea 349215: a536b9a
1 parent 710a146 commit 358364f

File tree

350 files changed

+2389
-3252
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

350 files changed

+2389
-3252
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
refs/heads/master: 3574c513bbc5578dd9346b4ea9ab5995c5927bb5
3-
refs/heads/master-next: cce352f60e0c3303e1f0c1dd787869e1c5c84e35
3+
refs/heads/master-next: 233f8645d1f8b82827278b2c8dfff902c2645765
44
refs/tags/osx-passed: b6b74147ef8a386f532cf9357a1bde006e552c54
55
refs/tags/swift-2.2-SNAPSHOT-2015-12-01-a: 6bb18e013c2284f2b45f5f84f2df2887dc0f7dea
66
refs/tags/swift-2.2-SNAPSHOT-2015-12-01-b: 66d897bfcf64a82cb9a87f5e663d889189d06d07

branches/master-next/cmake/modules/SwiftSource.cmake

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,8 @@ function(_compile_swift_files
326326
set(sib_file "${module_base}.Onone.sib")
327327
set(sibopt_file "${module_base}.O.sib")
328328
set(sibgen_file "${module_base}.sibgen")
329+
list(APPEND swift_module_flags
330+
"-emit-module-source-info-path" "${source_info_file}")
329331

330332
if(SWIFT_ENABLE_MODULE_INTERFACES)
331333
set(interface_file "${module_base}.swiftinterface")
@@ -499,7 +501,6 @@ function(_compile_swift_files
499501
COMMAND
500502
"${PYTHON_EXECUTABLE}" "${line_directive_tool}" "@${file_path}" --
501503
"${swift_compiler_tool}" "-emit-module" "-o" "${module_file}"
502-
"-emit-module-source-info-path" "${source_info_file}"
503504
${swift_flags} ${swift_module_flags} "@${file_path}"
504505
${command_touch_module_outputs}
505506
OUTPUT ${module_outputs}

branches/master-next/cmake/modules/SwiftXcodeSupport.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,8 @@ macro(swift_common_xcode_cxx_config)
100100
# Force usage of Clang.
101101
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0"
102102
CACHE STRING "Xcode Compiler")
103-
# Use C++'14.
104-
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++14"
103+
# Use C++'11.
104+
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11"
105105
CACHE STRING "Xcode C++ Language Standard")
106106
# Use libc++.
107107
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++"

branches/master-next/include/swift/AST/ASTNode.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ namespace swift {
3636
enum class DeclKind : uint8_t;
3737
enum class StmtKind;
3838

39-
struct ASTNode : public llvm::PointerUnion<Expr*, Stmt*, Decl*> {
39+
struct ASTNode : public llvm::PointerUnion3<Expr*, Stmt*, Decl*> {
4040
// Inherit the constructors from PointerUnion.
41-
using PointerUnion::PointerUnion;
42-
41+
using PointerUnion3::PointerUnion3;
42+
4343
SourceRange getSourceRange() const;
4444

4545
/// Return the location of the start of the statement.

branches/master-next/include/swift/AST/Decl.h

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4785,7 +4785,7 @@ class VarDecl : public AbstractStorageDecl {
47854785
};
47864786

47874787
protected:
4788-
PointerUnion<PatternBindingDecl *, Stmt *, VarDecl *> Parent;
4788+
PointerUnion3<PatternBindingDecl *, Stmt *, VarDecl *> Parent;
47894789

47904790
VarDecl(DeclKind kind, bool isStatic, Introducer introducer,
47914791
bool issCaptureList, SourceLoc nameLoc, Identifier name,
@@ -5689,8 +5689,7 @@ class AbstractFunctionDecl : public GenericContext, public ValueDecl {
56895689
/// Note that a true return value does not imply that the body was actually
56905690
/// parsed.
56915691
bool hasBody() const {
5692-
return getBodyKind() != BodyKind::None &&
5693-
getBodyKind() != BodyKind::Skipped;
5692+
return getBodyKind() != BodyKind::None;
56945693
}
56955694

56965695
/// Returns true if the text of this function's body can be retrieved either
@@ -5717,22 +5716,14 @@ class AbstractFunctionDecl : public GenericContext, public ValueDecl {
57175716
/// Note that the body was skipped for this function. Function body
57185717
/// cannot be attached after this call.
57195718
void setBodySkipped(SourceRange bodyRange) {
5720-
// FIXME: Remove 'Parsed' from this once we can delay parsing function
5721-
// bodies. Right now -experimental-skip-non-inlinable-function-bodies
5722-
// requires being able to change the state from Parsed to Skipped,
5723-
// because we're still eagerly parsing function bodies.
5724-
assert(getBodyKind() == BodyKind::None ||
5725-
getBodyKind() == BodyKind::Unparsed ||
5726-
getBodyKind() == BodyKind::Parsed);
5727-
assert(bodyRange.isValid());
5719+
assert(getBodyKind() == BodyKind::None);
57285720
BodyRange = bodyRange;
57295721
setBodyKind(BodyKind::Skipped);
57305722
}
57315723

57325724
/// Note that parsing for the body was delayed.
57335725
void setBodyDelayed(SourceRange bodyRange) {
57345726
assert(getBodyKind() == BodyKind::None);
5735-
assert(bodyRange.isValid());
57365727
BodyRange = bodyRange;
57375728
setBodyKind(BodyKind::Unparsed);
57385729
}
@@ -5778,10 +5769,6 @@ class AbstractFunctionDecl : public GenericContext, public ValueDecl {
57785769
return getBodyKind() == BodyKind::TypeChecked;
57795770
}
57805771

5781-
bool isBodySkipped() const {
5782-
return getBodyKind() == BodyKind::Skipped;
5783-
}
5784-
57855772
bool isMemberwiseInitializer() const {
57865773
return getBodyKind() == BodyKind::MemberwiseInitializer;
57875774
}

branches/master-next/include/swift/AST/DeclContext.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -409,15 +409,6 @@ class alignas(1 << DeclContextAlignInBits) DeclContext {
409409
const_cast<DeclContext *>(this)->getInnermostDeclarationDeclContext();
410410
}
411411

412-
/// Returns the innermost context that is an AbstractFunctionDecl whose
413-
/// body has been skipped.
414-
LLVM_READONLY
415-
DeclContext *getInnermostSkippedFunctionContext();
416-
const DeclContext *getInnermostSkippedFunctionContext() const {
417-
return
418-
const_cast<DeclContext *>(this)->getInnermostSkippedFunctionContext();
419-
}
420-
421412
/// Returns the semantic parent of this context. A context has a
422413
/// parent if and only if it is not a module context.
423414
DeclContext *getParent() const {

branches/master-next/include/swift/AST/DiagnosticsClangImporter.def

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,10 @@ WARNING(implicit_bridging_header_imported_from_module,none,
9191
"is deprecated and will be removed in a later version of Swift",
9292
(StringRef, Identifier))
9393

94+
WARNING(clang_vfs_overlay_is_ignored,none,
95+
"ignoring '-ivfsoverlay' options provided to '-Xcc' in favor of "
96+
"'-vfsoverlay'", ())
97+
9498
#ifndef DIAG_NO_UNDEF
9599
# if defined(DIAG)
96100
# undef DIAG

branches/master-next/include/swift/AST/DiagnosticsFrontend.def

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,6 @@ ERROR(error_mode_cannot_emit_module_source_info,none,
128128
"this mode does not support emitting module source info files", ())
129129
ERROR(error_mode_cannot_emit_interface,none,
130130
"this mode does not support emitting module interface files", ())
131-
ERROR(cannot_emit_ir_skipping_function_bodies,none,
132-
"-experimental-skip-non-inlinable-function-bodies does not support "
133-
"emitting IR", ())
134131

135132
WARNING(emit_reference_dependencies_without_primary_file,none,
136133
"ignoring -emit-reference-dependencies (requires -primary-file)", ())

branches/master-next/include/swift/AST/Evaluator.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ class Evaluator {
260260
// Check for a cycle.
261261
if (checkDependency(getCanonicalRequest(request))) {
262262
return llvm::Error(
263-
std::make_unique<CyclicalRequestError<Request>>(request, *this));
263+
llvm::make_unique<CyclicalRequestError<Request>>(request, *this));
264264
}
265265

266266
// Make sure we remove this from the set of active requests once we're

branches/master-next/include/swift/AST/GenericSignatureBuilder.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,10 @@ class GenericSignatureBuilder {
9292
class ResolvedType;
9393

9494
using UnresolvedRequirementRHS =
95-
llvm::PointerUnion<Type, PotentialArchetype *, LayoutConstraint>;
95+
llvm::PointerUnion3<Type, PotentialArchetype *, LayoutConstraint>;
9696

9797
using RequirementRHS =
98-
llvm::PointerUnion<Type, PotentialArchetype *, LayoutConstraint>;
98+
llvm::PointerUnion3<Type, PotentialArchetype *, LayoutConstraint>;
9999

100100
/// The location of a requirement as written somewhere in the source.
101101
typedef llvm::PointerUnion<const TypeRepr *, const RequirementRepr *>
@@ -1373,8 +1373,8 @@ class GenericSignatureBuilder::FloatingRequirementSource {
13731373
} kind;
13741374

13751375
using Storage =
1376-
llvm::PointerUnion<const RequirementSource *, const TypeRepr *,
1377-
const RequirementRepr *>;
1376+
llvm::PointerUnion3<const RequirementSource *, const TypeRepr *,
1377+
const RequirementRepr *>;
13781378

13791379
Storage storage;
13801380

branches/master-next/include/swift/AST/ModuleLoader.h

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@
2424
#include "llvm/ADT/SmallSet.h"
2525
#include "llvm/ADT/TinyPtrVector.h"
2626

27-
namespace llvm {
28-
class FileCollector;
29-
}
30-
3127
namespace clang {
3228
class DependencyCollector;
3329
}
@@ -58,9 +54,8 @@ enum class Bridgeability : unsigned {
5854
class DependencyTracker {
5955
std::shared_ptr<clang::DependencyCollector> clangCollector;
6056
public:
61-
explicit DependencyTracker(
62-
bool TrackSystemDeps,
63-
std::shared_ptr<llvm::FileCollector> FileCollector = {});
57+
58+
explicit DependencyTracker(bool TrackSystemDeps);
6459

6560
/// Adds a file as a dependency.
6661
///

branches/master-next/include/swift/AST/SILOptions.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,6 @@ class SILOptions {
7070
/// Whether to stop the optimization pipeline after serializing SIL.
7171
bool StopOptimizationAfterSerialization = false;
7272

73-
/// Whether to skip emitting non-inlinable function bodies.
74-
bool SkipNonInlinableFunctionBodies = false;
75-
7673
/// Optimization mode being used.
7774
OptimizationMode OptMode = OptimizationMode::NotSet;
7875

branches/master-next/include/swift/AST/SimpleRequest.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ class SimpleRequest<Derived, Output(Inputs...), Caching> {
195195

196196
template<size_t ...Indices>
197197
llvm::Expected<Output>
198-
callDerived(Evaluator &evaluator, std::index_sequence<Indices...>) const {
198+
callDerived(Evaluator &evaluator, llvm::index_sequence<Indices...>) const {
199199
static_assert(sizeof...(Indices) > 0, "Subclass must define evaluate()");
200200
return asDerived().evaluate(evaluator, std::get<Indices>(storage)...);
201201
}
@@ -217,7 +217,7 @@ class SimpleRequest<Derived, Output(Inputs...), Caching> {
217217
static llvm::Expected<OutputType>
218218
evaluateRequest(const Derived &request, Evaluator &evaluator) {
219219
return request.callDerived(evaluator,
220-
std::index_sequence_for<Inputs...>());
220+
llvm::index_sequence_for<Inputs...>());
221221
}
222222

223223
/// Retrieve the nearest source location to which this request applies.

branches/master-next/include/swift/AST/TypeCheckRequests.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ struct WhereClauseOwner {
366366

367367
/// The source of the where clause, which can be a generic parameter list
368368
/// or a declaration that can have a where clause.
369-
llvm::PointerUnion<GenericParamList *, Decl *, SpecializeAttr *> source;
369+
llvm::PointerUnion3<GenericParamList *, Decl *, SpecializeAttr *> source;
370370

371371
WhereClauseOwner(Decl *decl);
372372

branches/master-next/include/swift/Basic/LLVM.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ namespace llvm {
4242
template<typename T> class MutableArrayRef;
4343
template<typename T> class TinyPtrVector;
4444
template<typename T> class Optional;
45-
template <typename ...PTs> class PointerUnion;
45+
template <typename PT1, typename PT2> class PointerUnion;
46+
template <typename PT1, typename PT2, typename PT3> class PointerUnion3;
4647
class SmallBitVector;
4748

4849
// Other common classes.
@@ -67,6 +68,7 @@ namespace swift {
6768
using llvm::None;
6869
using llvm::Optional;
6970
using llvm::PointerUnion;
71+
using llvm::PointerUnion3;
7072
using llvm::SmallBitVector;
7173
using llvm::SmallPtrSet;
7274
using llvm::SmallPtrSetImpl;

branches/master-next/include/swift/ClangImporter/ClangImporter.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323

2424
namespace llvm {
2525
class Triple;
26-
class FileCollector;
2726
template<typename Fn> class function_ref;
2827
}
2928

@@ -150,8 +149,7 @@ class ClangImporter final : public ClangModuleLoader {
150149
/// Create a new clang::DependencyCollector customized to
151150
/// ClangImporter's specific uses.
152151
static std::shared_ptr<clang::DependencyCollector>
153-
createDependencyCollector(bool TrackSystemDeps,
154-
std::shared_ptr<llvm::FileCollector> FileCollector);
152+
createDependencyCollector(bool TrackSystemDeps);
155153

156154
/// Append visible module names to \p names. Note that names are possibly
157155
/// duplicated, and not guaranteed to be ordered in any way.

branches/master-next/include/swift/ClangImporter/ClangImporterOptions.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@ class ClangImporterOptions {
9696
/// When set, don't enforce warnings with -Werror.
9797
bool DebuggerSupport = false;
9898

99+
/// When set, clobber the Clang instance's virtual file system with the Swift
100+
/// virtual file system.
101+
bool ForceUseSwiftVirtualFileSystem = false;
102+
99103
/// Return a hash code of any components from these options that should
100104
/// contribute to a Swift Bridging PCH hash.
101105
llvm::hash_code getPCHHashComponents() const {

branches/master-next/include/swift/Frontend/Frontend.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ class CompilerInstance {
462462

463463
void createDependencyTracker(bool TrackSystemDeps) {
464464
assert(!Context && "must be called before setup()");
465-
DepTracker = std::make_unique<DependencyTracker>(TrackSystemDeps);
465+
DepTracker = llvm::make_unique<DependencyTracker>(TrackSystemDeps);
466466
}
467467
DependencyTracker *getDependencyTracker() { return DepTracker.get(); }
468468

branches/master-next/include/swift/Frontend/FrontendOptions.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,6 @@ class FrontendOptions {
180180
/// \sa swift::SharedTimer
181181
bool DebugTimeCompilation = false;
182182

183-
bool SkipNonInlinableFunctionBodies = false;
184-
185183
/// The path to which we should output statistics files.
186184
std::string StatsOutputDir;
187185

@@ -341,7 +339,6 @@ class FrontendOptions {
341339

342340
public:
343341
static bool doesActionGenerateSIL(ActionType);
344-
static bool doesActionGenerateIR(ActionType);
345342
static bool doesActionProduceOutput(ActionType);
346343
static bool doesActionProduceTextualOutput(ActionType);
347344
static bool needsProperModuleName(ActionType);

branches/master-next/include/swift/LLVMPasses/Passes.h

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,8 @@ namespace swift {
3030
const llvm::PreservedAnalyses &) { return false; }
3131

3232
using AAResultBase::getModRefInfo;
33-
llvm::ModRefInfo getModRefInfo(const llvm::CallBase *Call,
34-
const llvm::MemoryLocation &Loc) {
35-
llvm::AAQueryInfo AAQI;
36-
return getModRefInfo(Call, Loc, AAQI);
37-
}
38-
llvm::ModRefInfo getModRefInfo(const llvm::CallBase *Call,
39-
const llvm::MemoryLocation &Loc,
40-
llvm::AAQueryInfo &AAQI);
33+
llvm::ModRefInfo getModRefInfo(llvm::ImmutableCallSite CS,
34+
const llvm::MemoryLocation &Loc);
4135
};
4236

4337
class SwiftAAWrapperPass : public llvm::ImmutablePass {

branches/master-next/include/swift/Option/Options.td

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -254,10 +254,6 @@ def stats_output_dir: Separate<["-"], "stats-output-dir">,
254254
def trace_stats_events: Flag<["-"], "trace-stats-events">,
255255
Flags<[FrontendOption, HelpHidden]>,
256256
HelpText<"Trace changes to stats in -stats-output-dir">;
257-
def experimental_skip_non_inlinable_function_bodies:
258-
Flag<["-"], "experimental-skip-non-inlinable-function-bodies">,
259-
Flags<[FrontendOption, HelpHidden]>,
260-
HelpText<"Skip type-checking and SIL generation for non-inlinable function bodies">;
261257
def profile_stats_events: Flag<["-"], "profile-stats-events">,
262258
Flags<[FrontendOption, HelpHidden]>,
263259
HelpText<"Profile changes to stats in -stats-output-dir">;

branches/master-next/include/swift/Parse/Parser.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
#include "llvm/ADT/SetVector.h"
4141

4242
namespace llvm {
43-
template <typename... PTs> class PointerUnion;
43+
template <typename PT1, typename PT2, typename PT3> class PointerUnion3;
4444
}
4545

4646
namespace swift {

branches/master-next/include/swift/Reflection/ReflectionContext.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,9 @@ class ReflectionContext
107107
using typename super::StoredPointer;
108108

109109
explicit ReflectionContext(std::shared_ptr<MemoryReader> reader)
110-
: super(std::move(reader), *this)
111-
{}
110+
: super(std::move(reader)) {
111+
getBuilder().setMetadataReader(*this);
112+
}
112113

113114
ReflectionContext(const ReflectionContext &other) = delete;
114115
ReflectionContext &operator=(const ReflectionContext &other) = delete;

0 commit comments

Comments
 (0)