Skip to content

Commit ffa5aa3

Browse files
authored
Merge pull request swiftlang#1133 from swiftwasm/master
[pull] swiftwasm from master
2 parents 6de866a + 71b2c50 commit ffa5aa3

File tree

170 files changed

+2208
-546
lines changed

Some content is hidden

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

170 files changed

+2208
-546
lines changed

CMakeLists.txt

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,8 @@ endif()
413413

414414
if(MSVC OR "${CMAKE_SIMULATE_ID}" STREQUAL MSVC)
415415
include(ClangClCompileRules)
416+
elseif(UNIX)
417+
include(UnixCompileRules)
416418
endif()
417419

418420
if(CMAKE_C_COMPILER_ID MATCHES Clang)
@@ -432,19 +434,6 @@ if(SWIFT_BUILD_SYNTAXPARSERLIB OR SWIFT_BUILD_SOURCEKIT)
432434
endif()
433435
endif()
434436

435-
#
436-
# Assume a new enough ar to generate the index at construction time. This avoids
437-
# having to invoke ranlib as a secondary command.
438-
#
439-
440-
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> crs <TARGET> <LINK_FLAGS> <OBJECTS>")
441-
set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> qs <TARGET> <LINK_FLAGS> <OBJECTS>")
442-
set(CMAKE_C_ARCHIVE_FINISH "")
443-
444-
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> crs <TARGET> <LINK_FLAGS> <OBJECTS>")
445-
set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> qs <TARGET> <LINK_FLAGS> <OBJECTS>")
446-
set(CMAKE_CXX_ARCHIVE_FINISH "")
447-
448437
#
449438
# Include CMake modules
450439
#

cmake/modules/AddSwift.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,6 @@ function(add_swift_host_library name)
519519
endif()
520520

521521
set_target_properties(${name} PROPERTIES
522-
CXX_STANDARD 14
523522
NO_SONAME YES)
524523
endif()
525524

cmake/modules/UnixCompileRules.cmake

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
2+
#
3+
# Assume a new enough ar to generate the index at construction time. This avoids
4+
# having to invoke ranlib as a secondary command.
5+
#
6+
7+
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> crs <TARGET> <LINK_FLAGS> <OBJECTS>")
8+
set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> qs <TARGET> <LINK_FLAGS> <OBJECTS>")
9+
set(CMAKE_C_ARCHIVE_FINISH "")
10+
11+
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> crs <TARGET> <LINK_FLAGS> <OBJECTS>")
12+
set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> qs <TARGET> <LINK_FLAGS> <OBJECTS>")
13+
set(CMAKE_CXX_ARCHIVE_FINISH "")

include/swift/AST/ASTPrinter.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include "swift/Basic/QuotedString.h"
1818
#include "swift/Basic/UUID.h"
1919
#include "swift/AST/Identifier.h"
20+
#include "llvm/ADT/SmallString.h"
2021
#include "llvm/ADT/StringRef.h"
2122
#include "llvm/ADT/DenseSet.h"
2223
#include "llvm/Support/raw_ostream.h"

include/swift/AST/AnyFunctionRef.h

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,20 @@ class AnyFunctionRef {
8989
return TheFunction.get<AbstractClosureExpr *>()->getSingleExpressionBody();
9090
}
9191

92+
void setSingleExpressionBody(Expr *expr) {
93+
if (auto *AFD = TheFunction.dyn_cast<AbstractFunctionDecl *>()) {
94+
AFD->setSingleExpressionBody(expr);
95+
return;
96+
}
97+
98+
auto ACE = TheFunction.get<AbstractClosureExpr *>();
99+
if (auto CE = dyn_cast<ClosureExpr>(ACE)) {
100+
CE->setSingleExpressionBody(expr);
101+
} else {
102+
cast<AutoClosureExpr>(ACE)->setBody(expr);
103+
}
104+
}
105+
92106
Type getType() const {
93107
if (auto *AFD = TheFunction.dyn_cast<AbstractFunctionDecl *>())
94108
return AFD->getInterfaceType();
@@ -123,6 +137,21 @@ class AnyFunctionRef {
123137
return cast<AutoClosureExpr>(ACE)->getBody();
124138
}
125139

140+
void setBody(BraceStmt *stmt, bool isSingleExpression) {
141+
if (auto *AFD = TheFunction.dyn_cast<AbstractFunctionDecl *>()) {
142+
AFD->setBody(stmt);
143+
AFD->setHasSingleExpressionBody(isSingleExpression);
144+
return;
145+
}
146+
147+
auto *ACE = TheFunction.get<AbstractClosureExpr *>();
148+
if (auto *CE = dyn_cast<ClosureExpr>(ACE)) {
149+
return CE->setBody(stmt, isSingleExpression);
150+
}
151+
152+
llvm_unreachable("autoclosures don't have statement bodies");
153+
}
154+
126155
DeclContext *getAsDeclContext() const {
127156
if (auto *AFD = TheFunction.dyn_cast<AbstractFunctionDecl *>())
128157
return AFD;

include/swift/AST/AnyRequest.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include "swift/Basic/TypeID.h"
2323
#include "llvm/ADT/DenseMapInfo.h"
2424
#include "llvm/ADT/Hashing.h"
25+
#include "llvm/ADT/PointerIntPair.h"
2526
#include <string>
2627

2728
namespace llvm {

include/swift/AST/CaptureInfo.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
#include "llvm/ADT/PointerIntPair.h"
2323
#include "llvm/ADT/PointerUnion.h"
2424
#include "llvm/Support/TrailingObjects.h"
25-
#include <vector>
2625

2726
namespace swift {
2827
class CapturedValue;

include/swift/AST/ConcreteDeclRef.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#include "swift/Basic/LLVM.h"
2222
#include "swift/AST/SubstitutionMap.h"
2323
#include "swift/AST/TypeAlignments.h"
24-
#include "llvm/ADT/ArrayRef.h"
2524
#include "llvm/ADT/PointerUnion.h"
2625
#include "llvm/Support/Compiler.h"
2726
#include <cstring>

include/swift/AST/Decl.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
#include "swift/Basic/OptionalEnum.h"
4242
#include "swift/Basic/Range.h"
4343
#include "swift/Basic/Located.h"
44-
#include "llvm/ADT/DenseMap.h"
4544
#include "llvm/ADT/DenseSet.h"
4645
#include "llvm/Support/TrailingObjects.h"
4746
#include <type_traits>

include/swift/AST/ExistentialLayout.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
#include "swift/Basic/ArrayRefView.h"
2121
#include "swift/AST/ASTContext.h"
2222
#include "swift/AST/Type.h"
23-
#include "llvm/ADT/SmallVector.h"
2423

2524
namespace swift {
2625
class ProtocolDecl;

include/swift/AST/FileUnit.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,8 @@ class FileUnit : public DeclContext {
107107
/// Find all SPI names imported from \p importedModule by this module,
108108
/// collecting the identifiers in \p spiGroups.
109109
virtual void lookupImportedSPIGroups(
110-
const ModuleDecl *importedModule,
111-
SmallVectorImpl<Identifier> &spiGroups) const {};
110+
const ModuleDecl *importedModule,
111+
SmallSetVector<Identifier, 4> &spiGroups) const {};
112112

113113
protected:
114114
/// Look up an operator declaration. Do not call directly, use

include/swift/AST/GenericParamKey.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
#define SWIFT_AST_GENERICPARAMKEY_H
1515

1616
#include "llvm/ADT/DenseMapInfo.h"
17-
#include "llvm/ADT/ArrayRef.h"
1817
#include "swift/AST/Type.h"
1918

2019
namespace swift {

include/swift/AST/GenericSignatureBuilder.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
#include "swift/AST/TypeRepr.h"
3131
#include "swift/Basic/Debug.h"
3232
#include "swift/Basic/LLVM.h"
33-
#include "llvm/ADT/ArrayRef.h"
3433
#include "llvm/ADT/FoldingSet.h"
3534
#include "llvm/ADT/ilist.h"
3635
#include "llvm/ADT/PointerUnion.h"

include/swift/AST/LinkLibrary.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#define SWIFT_AST_LINKLIBRARY_H
1515

1616
#include "swift/Basic/LLVM.h"
17-
#include "llvm/ADT/SmallString.h"
17+
#include "llvm/ADT/StringRef.h"
1818
#include <string>
1919

2020
namespace swift {

include/swift/AST/Module.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,12 @@
2828
#include "swift/Basic/STLExtras.h"
2929
#include "swift/Basic/SourceLoc.h"
3030
#include "llvm/ADT/ArrayRef.h"
31-
#include "llvm/ADT/DenseSet.h"
3231
#include "llvm/ADT/STLExtras.h"
33-
#include "llvm/ADT/SetVector.h"
34-
#include "llvm/ADT/SmallSet.h"
3532
#include "llvm/ADT/SmallVector.h"
3633
#include "llvm/ADT/StringMap.h"
37-
#include "llvm/ADT/TinyPtrVector.h"
3834
#include "llvm/Support/ErrorHandling.h"
3935
#include "llvm/Support/MD5.h"
36+
#include <set>
4037

4138
namespace clang {
4239
class Module;
@@ -646,8 +643,9 @@ class ModuleDecl : public DeclContext, public TypeDecl {
646643

647644
/// Find all SPI names imported from \p importedModule by this module,
648645
/// collecting the identifiers in \p spiGroups.
649-
void lookupImportedSPIGroups(const ModuleDecl *importedModule,
650-
SmallVectorImpl<Identifier> &spiGroups) const;
646+
void lookupImportedSPIGroups(
647+
const ModuleDecl *importedModule,
648+
llvm::SmallSetVector<Identifier, 4> &spiGroups) const;
651649

652650
/// \sa getImportedModules
653651
enum class ImportFilterKind {

include/swift/AST/ModuleDependencies.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
#include "swift/Basic/LLVM.h"
2222
#include "llvm/ADT/ArrayRef.h"
23-
#include "llvm/ADT/DenseMap.h"
2423
#include "llvm/ADT/Optional.h"
2524
#include "llvm/ADT/StringSet.h"
2625
#include <string>

include/swift/AST/ModuleLoader.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
#include "swift/Basic/Located.h"
2323
#include "swift/Basic/SourceLoc.h"
2424
#include "llvm/ADT/SetVector.h"
25-
#include "llvm/ADT/SmallSet.h"
26-
#include "llvm/ADT/StringSet.h"
2725
#include "llvm/ADT/TinyPtrVector.h"
2826
#include "swift/AST/ModuleDependencies.h"
2927

include/swift/AST/NameLookup.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#ifndef SWIFT_AST_NAME_LOOKUP_H
1818
#define SWIFT_AST_NAME_LOOKUP_H
1919

20-
#include "llvm/ADT/SmallPtrSet.h"
2120
#include "llvm/ADT/SmallVector.h"
2221
#include "swift/AST/ASTVisitor.h"
2322
#include "swift/AST/Identifier.h"

include/swift/AST/ProtocolConformance.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
#include "llvm/ADT/ArrayRef.h"
2828
#include "llvm/ADT/DenseMap.h"
2929
#include "llvm/ADT/FoldingSet.h"
30-
#include "llvm/ADT/SmallPtrSet.h"
31-
#include "llvm/ADT/TinyPtrVector.h"
3230
#include <utility>
3331

3432
namespace swift {

include/swift/AST/SourceFile.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
#include "swift/AST/FileUnit.h"
1717
#include "swift/AST/SynthesizedFileUnit.h"
1818
#include "swift/Basic/Debug.h"
19+
#include "llvm/ADT/SetVector.h"
20+
#include "llvm/ADT/SmallPtrSet.h"
1921

2022
namespace swift {
2123

@@ -338,8 +340,9 @@ class SourceFile final : public FileUnit {
338340
/// Find all SPI names imported from \p importedModule by this file,
339341
/// collecting the identifiers in \p spiGroups.
340342
virtual void
341-
lookupImportedSPIGroups(const ModuleDecl *importedModule,
342-
SmallVectorImpl<Identifier> &spiGroups) const override;
343+
lookupImportedSPIGroups(
344+
const ModuleDecl *importedModule,
345+
llvm::SmallSetVector<Identifier, 4> &spiGroups) const override;
343346

344347
// Is \p targetDecl accessible as an explictly imported SPI from this file?
345348
bool isImportedAsSPI(const ValueDecl *targetDecl) const;

include/swift/AST/Stmt.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
#include "swift/AST/TypeAlignments.h"
2626
#include "swift/Basic/Debug.h"
2727
#include "swift/Basic/NullablePtr.h"
28-
#include "llvm/ADT/TinyPtrVector.h"
2928
#include "llvm/Support/TrailingObjects.h"
3029

3130
namespace swift {

include/swift/Basic/OutputFileMap.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include "swift/Basic/LLVM.h"
1818
#include "llvm/ADT/DenseMap.h"
1919
#include "llvm/ADT/StringMap.h"
20-
#include "llvm/ADT/StringSet.h"
2120
#include "llvm/Support/Error.h"
2221
#include "llvm/Support/MemoryBuffer.h"
2322
#include "llvm/Support/SourceMgr.h"

include/swift/Basic/SourceManager.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include "swift/Basic/SourceLoc.h"
1818
#include "clang/Basic/FileManager.h"
1919
#include "llvm/ADT/Optional.h"
20-
#include "llvm/ADT/StringMap.h"
2120
#include "llvm/Support/SourceMgr.h"
2221
#include <map>
2322

include/swift/Basic/SupplementaryOutputPaths.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
#define SWIFT_FRONTEND_SUPPLEMENTARYOUTPUTPATHS_H
1515

1616
#include "swift/Basic/LLVM.h"
17-
#include "llvm/ADT/Optional.h"
1817

1918
#include <string>
2019

include/swift/Basic/TypeID.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,12 @@
1919
#ifndef SWIFT_BASIC_TYPEID_H
2020
#define SWIFT_BASIC_TYPEID_H
2121

22-
#include "llvm/ADT/StringRef.h"
22+
// NOTE: Most of these includes are for CTypeIDZone.def and DefineTypeIDZone.h.
23+
#include "llvm/ADT/ArrayRef.h"
2324
#include "llvm/ADT/TinyPtrVector.h"
25+
#include "llvm/ADT/StringRef.h"
2426
#include <cstdint>
27+
#include <memory>
2528
#include <string>
2629
#include <vector>
2730

include/swift/Basic/UUID.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
#include "swift/Basic/LLVM.h"
2222
#include "llvm/ADT/DenseMap.h"
2323
#include "llvm/ADT/Optional.h"
24-
#include "llvm/ADT/SmallString.h"
25-
#include "llvm/ADT/StringRef.h"
2624
#include "llvm/Support/raw_ostream.h"
2725
#include <array>
2826

include/swift/Driver/Action.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include "swift/Basic/LLVM.h"
1818
#include "swift/Driver/Util.h"
1919
#include "llvm/ADT/ArrayRef.h"
20-
#include "llvm/ADT/Optional.h"
2120
#include "llvm/ADT/StringSwitch.h"
2221
#include "llvm/ADT/TinyPtrVector.h"
2322
#include "llvm/Support/Chrono.h"

include/swift/Driver/Compilation.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
#include "swift/Driver/Driver.h"
2727
#include "swift/Driver/Job.h"
2828
#include "swift/Driver/Util.h"
29-
#include "llvm/ADT/DenseSet.h"
3029
#include "llvm/ADT/StringRef.h"
3130
#include "llvm/Support/Chrono.h"
3231

include/swift/Driver/Driver.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
#include "swift/Basic/Sanitizers.h"
2626
#include "swift/Driver/Util.h"
2727
#include "llvm/ADT/DenseMap.h"
28-
#include "llvm/ADT/StringMap.h"
2928
#include "llvm/ADT/StringRef.h"
3029

3130
#include <functional>

include/swift/Driver/FineGrainedDependencyDriverGraph.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,8 @@
1919
#include "swift/Basic/OptionSet.h"
2020
#include "swift/Driver/Job.h"
2121
#include "llvm/ADT/ArrayRef.h"
22-
#include "llvm/ADT/DenseMap.h"
2322
#include "llvm/ADT/STLExtras.h"
24-
#include "llvm/ADT/SmallPtrSet.h"
25-
#include "llvm/ADT/StringMap.h"
2623
#include "llvm/ADT/StringRef.h"
27-
#include "llvm/ADT/StringSet.h"
2824
#include "llvm/ADT/iterator_range.h"
2925
#include "llvm/Support/Path.h"
3026
#include "llvm/Support/PointerLikeTypeTraits.h"

include/swift/Driver/Job.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
#include "swift/Driver/Action.h"
2121
#include "swift/Driver/Util.h"
2222
#include "llvm/ADT/ArrayRef.h"
23-
#include "llvm/ADT/DenseMap.h"
2423
#include "llvm/ADT/PointerIntPair.h"
2524
#include "llvm/ADT/SmallSet.h"
2625
#include "llvm/ADT/SmallVector.h"

include/swift/Frontend/FrontendInputsAndOutputs.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include "swift/Basic/SupplementaryOutputPaths.h"
1818
#include "swift/Frontend/InputFile.h"
1919
#include "llvm/ADT/Hashing.h"
20-
#include "llvm/ADT/MapVector.h"
2120

2221
#include <string>
2322
#include <vector>

include/swift/Frontend/InputFile.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include "swift/Basic/SupplementaryOutputPaths.h"
1818
#include "llvm/Support/MemoryBuffer.h"
1919
#include <string>
20-
#include <vector>
2120

2221
namespace swift {
2322

include/swift/IDE/CompletionInstance.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#include "swift/Frontend/Frontend.h"
1717
#include "llvm/ADT/Hashing.h"
1818
#include "llvm/ADT/IntrusiveRefCntPtr.h"
19-
#include "llvm/ADT/SmallString.h"
2019
#include "llvm/ADT/StringRef.h"
2120
#include "llvm/Support/Chrono.h"
2221
#include "llvm/Support/MemoryBuffer.h"

include/swift/IDE/SourceEntityWalker.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include "swift/Basic/LLVM.h"
1818
#include "swift/Basic/SourceLoc.h"
1919
#include "llvm/ADT/PointerUnion.h"
20-
#include <string>
2120

2221
namespace clang {
2322
class Module;

0 commit comments

Comments
 (0)