Skip to content

Implemented arm canonicalization#1

Open
hpux735 wants to merge 2218 commits intotienex:masterfrom
hpux735:master
Open

Implemented arm canonicalization#1
hpux735 wants to merge 2218 commits intotienex:masterfrom
hpux735:master

Conversation

@hpux735
Copy link

@hpux735 hpux735 commented Dec 20, 2015

using armv7 for now. Easy to update to thumbv7 later.

@hpux735
Copy link
Author

hpux735 commented Dec 20, 2015

I don't mean to step on your toes, but if you want to use this canonicalization code, feel free.

@tienex
Copy link
Owner

tienex commented Dec 20, 2015

No worries, thanks :-) I'll merge yours with mine, yours has all the arm processors mine just armv7.

@tienex
Copy link
Owner

tienex commented Dec 20, 2015

I'll work on this tonight (I'm in Europe), this weekend I'm not at home.

@hpux735
Copy link
Author

hpux735 commented Dec 20, 2015

Sounds good! :) I just went through the list of SubTypes listed in llvm/include/AST/triple.h (I think) and put ‘em in there.

On Dec 20, 2015, at 6:14 AM, tienex notifications@github.com wrote:

I'll work on this tonight (I'm in Europe), this weekend I'm not at home.


Reply to this email directly or view it on GitHub #1 (comment).

@hpux735
Copy link
Author

hpux735 commented Jan 6, 2016

Support for ARMv6 done. Needs testing.

@hpux735
Copy link
Author

hpux735 commented Jan 6, 2016

What do you think about submitting this to Apple to hopefully get it into 2.2 (they're not accepting new features on the 15th), then we can move forward on your fixes to have them in swift 3.0?

gribozavr and others added 24 commits January 24, 2016 00:02
…ift-typechecker-typecheckfunctionbodyuntil

[swiftc] Add test case for crash triggered in swift::TypeChecker::typeCheckFunctionBodyUntil(…)
…0124

[gardening] Fix recently introduced typo + one remaining PEP8 violation
…berSubstitutions(swift::DeclContext*)

Stack trace:

```
4  swift           0x0000000001015b37 swift::TypeBase::getMemberSubstitutions(swift::DeclContext*) + 23
5  swift           0x0000000001015fea swift::TypeBase::getTypeOfMember(swift::ModuleDecl*, swift::Type, swift::DeclContext*) + 58
6  swift           0x0000000000e4e7a7 swift::TypeChecker::resolveTypeInContext(swift::TypeDecl*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 1591
10 swift           0x0000000000e4f1be swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 158
12 swift           0x0000000000e50124 swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 164
13 swift           0x0000000000e4f0ca swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 42
14 swift           0x0000000000eddff2 swift::IterativeTypeChecker::processResolveInheritedClauseEntry(std::pair<llvm::PointerUnion<swift::TypeDecl*, swift::ExtensionDecl*>, unsigned int>, llvm::function_ref<bool (swift::TypeCheckRequest)>) + 146
15 swift           0x0000000000edd27d swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) + 493
16 swift           0x0000000000dfb7b9 swift::TypeChecker::resolveInheritanceClause(llvm::PointerUnion<swift::TypeDecl*, swift::ExtensionDecl*>) + 137
17 swift           0x0000000000dfed61 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 1041
18 swift           0x0000000000fbeeda swift::ProtocolDecl::existentialTypeSupportedSlow(swift::LazyResolver*) + 186
23 swift           0x0000000000f6549e swift::Stmt::walk(swift::ASTWalker&) + 78
24 swift           0x0000000000e54f6a swift::TypeChecker::checkUnsupportedProtocolType(swift::Stmt*) + 138
25 swift           0x0000000000ee0e2c swift::performStmtDiagnostics(swift::TypeChecker&, swift::Stmt const*) + 28
26 swift           0x0000000000e4aa23 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) + 163
27 swift           0x0000000000dd05ad swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int) + 1597
28 swift           0x0000000000c7bb2f swift::CompilerInstance::performSema() + 2975
30 swift           0x00000000007753d7 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2487
31 swift           0x000000000076ffb5 main + 2773
Stack dump:
0.	Program arguments: /path/to/build/Ninja-ReleaseAssert/swift-linux-x86_64/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28233-swift-typebase-getmembersubstitutions.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28233-swift-typebase-getmembersubstitutions-f57c4c.o
1.	While resolving type A at [validation-test/compiler_crashers/28233-swift-typebase-getmembersubstitutions.swift:7:56 - line:7:56] RangeText="A"
<unknown>:0: error: unable to execute command: Segmentation fault
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
…ift-typebase-getmembersubstitutions

[swiftc] Add test case for crash triggered in swift::TypeBase::getMemberSubstitutions(…)
…::getGenericSignature(llvm::ArrayRef<swift::GenericTypeParamType*>)

Stack trace:

```
swift: /path/to/swift/lib/AST/ArchetypeBuilder.cpp:1942: void collectRequirements(swift::ArchetypeBuilder &, ArrayRef<swift::GenericTypeParamType *>, SmallVectorImpl<swift::Requirement> &): Assertion `pa && "Missing potential archetype for generic parameter"' failed.
8  swift           0x0000000000effbe4 swift::ArchetypeBuilder::getGenericSignature(llvm::ArrayRef<swift::GenericTypeParamType*>) + 1620
9  swift           0x0000000000e2346c swift::TypeChecker::validateGenericSignature(swift::GenericParamList*, swift::DeclContext*, swift::GenericSignature*, std::function<bool (swift::ArchetypeBuilder&)>, bool&) + 332
10 swift           0x0000000000e23764 swift::TypeChecker::validateGenericTypeSignature(swift::NominalTypeDecl*) + 116
11 swift           0x0000000000dfeab2 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 354
12 swift           0x0000000000ffa25d swift::UnqualifiedLookup::UnqualifiedLookup(swift::DeclName, swift::DeclContext*, swift::LazyResolver*, bool, swift::SourceLoc, bool, bool) + 2237
13 swift           0x0000000000e258bb swift::TypeChecker::lookupUnqualified(swift::DeclContext*, swift::DeclName, swift::SourceLoc, swift::OptionSet<swift::NameLookupFlags, unsigned int>) + 187
16 swift           0x0000000000e4f1be swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 158
18 swift           0x0000000000e50124 swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 164
19 swift           0x0000000000e4f0ca swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 42
20 swift           0x0000000000eddff2 swift::IterativeTypeChecker::processResolveInheritedClauseEntry(std::pair<llvm::PointerUnion<swift::TypeDecl*, swift::ExtensionDecl*>, unsigned int>, llvm::function_ref<bool (swift::TypeCheckRequest)>) + 146
21 swift           0x0000000000edd27d swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) + 493
22 swift           0x0000000000edd409 swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) + 889
23 swift           0x0000000000dfb710 swift::TypeChecker::resolveInheritedProtocols(swift::ProtocolDecl*) + 64
24 swift           0x0000000000efb811 swift::ArchetypeBuilder::addConformanceRequirement(swift::ArchetypeBuilder::PotentialArchetype*, swift::ProtocolDecl*, swift::RequirementSource, llvm::SmallPtrSetImpl<swift::ProtocolDecl*>&) + 225
27 swift           0x0000000000efd3af swift::ArchetypeBuilder::visitInherited(llvm::ArrayRef<swift::TypeLoc>, llvm::function_ref<bool (swift::Type, swift::SourceLoc)>) + 175
28 swift           0x0000000000efb57b swift::ArchetypeBuilder::addAbstractTypeParamRequirements(swift::AbstractTypeParamDecl*, swift::ArchetypeBuilder::PotentialArchetype*, swift::RequirementSource::Kind, llvm::SmallPtrSetImpl<swift::ProtocolDecl*>&) + 603
29 swift           0x0000000000efb2fc swift::ArchetypeBuilder::addGenericParameterRequirements(swift::GenericTypeParamDecl*) + 172
30 swift           0x0000000000e21b77 swift::TypeChecker::checkGenericParamList(swift::ArchetypeBuilder*, swift::GenericParamList*, swift::DeclContext*, bool, swift::GenericTypeResolver*) + 391
31 swift           0x0000000000e233af swift::TypeChecker::validateGenericSignature(swift::GenericParamList*, swift::DeclContext*, swift::GenericSignature*, std::function<bool (swift::ArchetypeBuilder&)>, bool&) + 143
32 swift           0x0000000000e23764 swift::TypeChecker::validateGenericTypeSignature(swift::NominalTypeDecl*) + 116
33 swift           0x0000000000dfee30 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 1248
34 swift           0x0000000000dfea10 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 192
37 swift           0x0000000000ff3262 swift::namelookup::lookupInModule(swift::ModuleDecl*, llvm::ArrayRef<std::pair<swift::Identifier, swift::SourceLoc> >, swift::DeclName, llvm::SmallVectorImpl<swift::ValueDecl*>&, swift::NLKind, swift::namelookup::ResolutionKind, swift::LazyResolver*, swift::DeclContext const*, llvm::ArrayRef<std::pair<llvm::ArrayRef<std::pair<swift::Identifier, swift::SourceLoc> >, swift::ModuleDecl*> >) + 1122
38 swift           0x0000000000ffa917 swift::UnqualifiedLookup::UnqualifiedLookup(swift::DeclName, swift::DeclContext*, swift::LazyResolver*, bool, swift::SourceLoc, bool, bool) + 3959
39 swift           0x0000000000e258bb swift::TypeChecker::lookupUnqualified(swift::DeclContext*, swift::DeclName, swift::SourceLoc, swift::OptionSet<swift::NameLookupFlags, unsigned int>) + 187
40 swift           0x0000000000de17e4 swift::TypeChecker::resolveDeclRefExpr(swift::UnresolvedDeclRefExpr*, swift::DeclContext*) + 100
44 swift           0x0000000000f6542e swift::Expr::walk(swift::ASTWalker&) + 46
45 swift           0x0000000000de2d07 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 119
46 swift           0x0000000000de92b9 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*) + 569
47 swift           0x0000000000dea430 swift::TypeChecker::typeCheckBinding(swift::Pattern*&, swift::Expr*&, swift::DeclContext*) + 112
48 swift           0x0000000000dea5d9 swift::TypeChecker::typeCheckPatternBinding(swift::PatternBindingDecl*, unsigned int) + 265
53 swift           0x0000000000e041d6 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
54 swift           0x0000000000dd0542 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int) + 1490
55 swift           0x0000000000c7bb2f swift::CompilerInstance::performSema() + 2975
57 swift           0x00000000007753d7 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2487
58 swift           0x000000000076ffb5 main + 2773
Stack dump:
0.	Program arguments: /path/to/build/Ninja-ReleaseAssert/swift-linux-x86_64/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28234-swift-archetypebuilder-getgenericsignature.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28234-swift-archetypebuilder-getgenericsignature-17b60f.o
1.	While type-checking 'A' at validation-test/compiler_crashers/28234-swift-archetypebuilder-getgenericsignature.swift:8:1
2.	While type-checking expression at [validation-test/compiler_crashers/28234-swift-archetypebuilder-getgenericsignature.swift:9:7 - line:9:8] RangeText="F>"
3.	While resolving type a at [validation-test/compiler_crashers/28234-swift-archetypebuilder-getgenericsignature.swift:10:62 - line:10:62] RangeText="a"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
…ift-archetypebuilder-getgenericsignature

[swiftc] Add test case for crash triggered in swift::ArchetypeBuilder::getGenericSignature(…)
…al-pep8

[gardening] Fix violations of non-controversial PEP8 rules (follow-up)
…::addSameTypeRequirementToConcrete(swift::ArchetypeBuilder::PotentialArchetype*, swift::Type, swift::RequirementSource)

Stack trace:

```
4  swift           0x0000000000efcd50 swift::ArchetypeBuilder::addSameTypeRequirementToConcrete(swift::ArchetypeBuilder::PotentialArchetype*, swift::Type, swift::RequirementSource) + 944
5  swift           0x0000000000efd61f swift::ArchetypeBuilder::addSameTypeRequirement(swift::Type, swift::Type, swift::RequirementSource) + 175
6  swift           0x0000000000efd7a0 swift::ArchetypeBuilder::addRequirement(swift::RequirementRepr const&) + 80
7  swift           0x0000000000e222d8 swift::TypeChecker::checkGenericParamList(swift::ArchetypeBuilder*, swift::GenericParamList*, swift::DeclContext*, bool, swift::GenericTypeResolver*) + 872
8  swift           0x0000000000e2392f swift::TypeChecker::validateGenericSignature(swift::GenericParamList*, swift::DeclContext*, swift::GenericSignature*, std::function<bool (swift::ArchetypeBuilder&)>, bool&) + 143
9  swift           0x0000000000e23ce4 swift::TypeChecker::validateGenericTypeSignature(swift::NominalTypeDecl*) + 116
10 swift           0x0000000000dfeac2 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 354
11 swift           0x0000000000ffbdac swift::DeclContext::lookupQualified(swift::Type, swift::DeclName, unsigned int, swift::LazyResolver*, llvm::SmallVectorImpl<swift::ValueDecl*>&) const + 2908
12 swift           0x0000000000ffa750 swift::UnqualifiedLookup::UnqualifiedLookup(swift::DeclName, swift::DeclContext*, swift::LazyResolver*, bool, swift::SourceLoc, bool, bool) + 2384
13 swift           0x0000000000e25e3b swift::TypeChecker::lookupUnqualified(swift::DeclContext*, swift::DeclName, swift::SourceLoc, swift::OptionSet<swift::NameLookupFlags, unsigned int>) + 187
16 swift           0x0000000000e4f51e swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 158
18 swift           0x0000000000e50484 swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 164
19 swift           0x0000000000e4f42a swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 42
21 swift           0x0000000000e224ec swift::TypeChecker::validateGenericFuncSignature(swift::AbstractFunctionDecl*) + 124
26 swift           0x0000000000e041e6 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
27 swift           0x0000000000dd0552 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int) + 1490
28 swift           0x0000000000c7bb3f swift::CompilerInstance::performSema() + 2975
30 swift           0x0000000000775527 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2487
31 swift           0x0000000000770105 main + 2773
Stack dump:
0.	Program arguments: /path/to/build/Ninja-ReleaseAssert/swift-linux-x86_64/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28235-swift-archetypebuilder-addsametyperequirementtoconcrete.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28235-swift-archetypebuilder-addsametyperequirementtoconcrete-e4ca47.o
1.	While type-checking 'A' at validation-test/compiler_crashers/28235-swift-archetypebuilder-addsametyperequirementtoconcrete.swift:7:10
2.	While resolving type B at [validation-test/compiler_crashers/28235-swift-archetypebuilder-addsametyperequirementtoconcrete.swift:7:41 - line:7:41] RangeText="B"
<unknown>:0: error: unable to execute command: Segmentation fault
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
…ift-archetypebuilder-addsametyperequirementtoconcrete

[swiftc] Add test case for crash triggered in swift::ArchetypeBuilder::addSameTypeRequirementToConcrete(…)
…eCheckDecl(swift::Decl*, bool)

Stack trace:

```
swift: /path/to/swift/lib/Sema/TypeCheckDecl.cpp:3989: void (anonymous namespace)::DeclChecker::visitFuncDecl(swift::FuncDecl *): Assertion `!FD->getType()->hasTypeParameter()' failed.
12 swift           0x0000000000e041e6 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
15 swift           0x0000000000e49b0a swift::TypeChecker::typeCheckFunctionBodyUntil(swift::FuncDecl*, swift::SourceLoc) + 362
16 swift           0x0000000000e4995e swift::TypeChecker::typeCheckAbstractFunctionBodyUntil(swift::AbstractFunctionDecl*, swift::SourceLoc) + 46
17 swift           0x0000000000e4a528 swift::TypeChecker::typeCheckAbstractFunctionBody(swift::AbstractFunctionDecl*) + 136
19 swift           0x0000000000dd0652 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int) + 1746
20 swift           0x0000000000c7bb3f swift::CompilerInstance::performSema() + 2975
22 swift           0x0000000000775527 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2487
23 swift           0x0000000000770105 main + 2773
Stack dump:
0.	Program arguments: /path/to/build/Ninja-ReleaseAssert/swift-linux-x86_64/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28236-swift-typebase-getmembersubstitutions.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28236-swift-typebase-getmembersubstitutions-699297.o
1.	While type-checking getter for A at validation-test/compiler_crashers/28236-swift-typebase-getmembersubstitutions.swift:8:26
2.	While type-checking 'a' at validation-test/compiler_crashers/28236-swift-typebase-getmembersubstitutions.swift:8:27
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
Rewrite [x for x in y] as list(y)
The problem was that an associated type was always resolved with the nearest protocol `Self` as a reference, but in the case of nested protocols the associated type might be from the enclosing protocol leading to a crash.

We now enumerate in a bottom-up way through the contexts until we have found the correct protocol which provides us with the `Self` reference to resolve the associated type.
`build-script-impl` currently maintains a list of
`NATIVE_TOOLS_DEPLOYMENT_TARGETS` -- host machine targets, for which
the resulting binaries can be run on the current machine.

However, there is only ever *one* host machine. This commit:

- Changes the `NATIVE_TOOLS_DEPLOYMENT_TARGETS` list parameter into a
  single string parameter, `HOST_TARGET`.
- Promotes the logic to detect the host target to Python, and places it
  in the `swift_build_support` module.
- Removes the hard-coded "macosx_x86_64" path to the LLVM and Clang
  TableGen -- thereby unblocking future work to make cross-compilation
  possible on platforms other than OS X.
- Also promotes cross-compilation target validation to Python, placing
  it in the `swift_build_support` module.
[ASTDumper] Dump the trailing newline on the given stream
…ter-names

[gardening] Avoid unnamed parameters. Use same names as in definition.
DougGregor and others added 30 commits January 28, 2016 11:23
…tanceMember() const

Stack trace:

```
4  swift           0x0000000000fbfa81 swift::ValueDecl::isInstanceMember() const + 1
9  swift           0x0000000000e31bdf swift::TypeChecker::checkConformance(swift::NormalProtocolConformance*) + 2063
13 swift           0x0000000000e07226 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
16 swift           0x0000000000e4cbaa swift::TypeChecker::typeCheckFunctionBodyUntil(swift::FuncDecl*, swift::SourceLoc) + 362
17 swift           0x0000000000e4c9fe swift::TypeChecker::typeCheckAbstractFunctionBodyUntil(swift::AbstractFunctionDecl*, swift::SourceLoc) + 46
18 swift           0x0000000000e4d5c8 swift::TypeChecker::typeCheckAbstractFunctionBody(swift::AbstractFunctionDecl*) + 136
20 swift           0x0000000000dd35a2 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int) + 1746
21 swift           0x0000000000c7d3df swift::CompilerInstance::performSema() + 2975
23 swift           0x0000000000775927 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2487
24 swift           0x0000000000770505 main + 2773
Stack dump:
0.	Program arguments: /path/to/build/Ninja-ReleaseAssert/swift-linux-x86_64/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28244-swift-valuedecl-isinstancemember.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28244-swift-valuedecl-isinstancemember-b5b6a9.o
1.	While type-checking getter for a at validation-test/compiler_crashers/28244-swift-valuedecl-isinstancemember.swift:8:30
2.	While type-checking 'S' at validation-test/compiler_crashers/28244-swift-valuedecl-isinstancemember.swift:8:31
<unknown>:0: error: unable to execute command: Segmentation fault
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
This reverts commit b1a7cea.

Accounting for these operators can add complexity in some cases, so I'm
backing out this change pending a more holistic approach.
…0128b

[gardening] Fix recently introduced typos: "calles" → "called", "TOkens" → "Tokens"
…ift-valuedecl-isinstancemember

[swiftc] Add test case for crash triggered in swift::ValueDecl::isInstanceMember()
This avoids too much inlining into a caller function (so far we only had limits based on the callee).
rdar://problem/23228386
(1) We no longer put the Clang version string in our copy of or symlink to
    Clang's resource directory.
(2) Newer Clang builds now generate a separate library for the Apple OS
    simulators, instead of a fat binary.

We still need a proper end-to-end test for this, but that depends on
building compiler-rt with Swift, which isn't a standard config yet.
This reverts commit 0515889.

I made a mistake and did not catch this regression when I measured the change on
my local machine. The regression was detected by our automatic performance
tests. Thank you @slavapestov for identifying the commit.
Add O(1) `contains()` implementation for Range with Comparable Element
…itialized

after argc and argv are initialized. rdar://24250684

I reordered the CHECK statements in some tests to make them pass.

I tested this on Darwin and Linux.
…icate

Add .Always and .Never cases to StdlibUnittest's TestPredicate
These catch a regression I introduced with my previous patch that I reverted:

<swiftlang@65dd0e7>
This comes with a fix for a null pointer dereference in _typeByName()
that would pop with foreign classes that do not have a
NominalTypeDescriptor.

Also, I decided to back out part of the change for now, where the
NominalTypeDescriptor references an accessor function instead of a
pattern, since this broke LLDB, which reaches into the pattern to
get the generic cache.

Soon we will split off the generic cache from the pattern, and at
that time we can change the NominalTypeDescriptor to point at the
cache. But for now, let's avoid needless churn in LLDB by keeping
that part of the setup unchanged.
This reverts commit 062d14b.

Revert "Fix a swift argument initialization bug - swift argument should be initialized"

This reverts commit 273b149.

This breaks DebugAssert as well as REPL builds. Revert to appease the bots while i
look further.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.