Slava Pestov
8de76da8e9
Add library evolution test for part of vtable resilience
...
Subclasses of resilient and generic classes now dynamically initialize
the vtable by copying the vtable from the superclass, and filling in
method overrides.
This means we no longer emit references to the base class's methods
statically, which allows the base class to add or remove an overload
resiliently without invalidating vtables of subclasses already
compiled.
Note that we still don't know how to slide subclass metadata when
the size of superclass metadata changes, so we can't resiliently
add or remove vtable entries yet.
2017-08-24 19:15:43 -07:00
Lance Parker
2e077d8f3e
Merge pull request #11539 from lancep/arrayIndexUnitTests
...
Add index unit tests for Arrays
2017-08-24 12:28:39 -07:00
Lance Parker
f7437689a5
Fix comment from copy/paste
2017-08-23 12:03:40 -07:00
Lance Parker
5847455307
Make index tests more data based
2017-08-23 12:00:17 -07:00
swift-ci
539894568f
Merge pull request #11569 from xedin/rdar-33433087
2017-08-22 23:46:04 -07:00
Graydon Hoare
cda91c8779
Add slow typechecker test for rdar 23682605.
2017-08-22 21:25:58 -04:00
Pavel Yaskevich
2d49d1202c
[QoI] Fix crash while trying to compute default parameters
...
Arguments and parameters are not guaranteed to line-up perfectly,
because failure diagnostics sometimes has to match one argument
to different "candidate" parameters to see which one is closer,
so let's teach `computeDefaultMap` to respect that.
Resolves: rdar://problem/33433087.
2017-08-22 17:23:17 -07:00
swift-ci
52fec3f3f8
Merge pull request #11547 from xedin/perf-33935430
2017-08-21 17:35:35 -07:00
Pavel Yaskevich
ebc2326ea6
Add test-case for rdar://problem/33935430
2017-08-21 16:32:43 -07:00
Lance Parker
f17a53468f
Remove redundant test
2017-08-21 16:14:58 -07:00
Lance Parker
726fba69ec
Remove xfail for ArraySlice/append
2017-08-21 16:07:49 -07:00
Lance Parker
c49b8f98c5
Add index unit tests for Arrays
2017-08-21 13:38:46 -07:00
Mark Lacey
98b18ec483
Merge pull request #11536 from rudkx/another-batch-of-perf-tests
...
One last batch of expression type checker performance test cases.
2017-08-21 12:52:25 -07:00
Mark Lacey
2c9c76f913
One last batch of expression type checker performance test cases.
2017-08-21 10:06:54 -07:00
swift-ci
3d7ec383ea
Merge pull request #11516 from moiseev/xfail-device-newarray
2017-08-18 17:03:19 -07:00
Max Moiseev
2686865c86
[test] XFAIL NewArray test cases for iOS and tvOS devices
...
<rdar://problem/33926468>
2017-08-18 16:25:38 -07:00
Mark Lacey
2823e35d0e
Merge pull request #11513 from rudkx/add-even-more-type-checker-perf-tests
...
More type checker performance tests.
2017-08-18 13:50:21 -07:00
Mark Lacey
45eaffbf87
More type checker performance tests.
2017-08-18 12:24:30 -07:00
swift-ci
94dccf1fea
Merge pull request #11087 from CodaFi/a-farewell-to-grant-money
2017-08-18 02:49:50 -07:00
Mark Lacey
3aba55038b
Add more type checker performance tests.
2017-08-17 18:40:28 -07:00
Mark Lacey
c076d4bdd5
Move more failing perf tests to the new location.
2017-08-17 14:22:12 -07:00
swift-ci
c0bebc5d12
Merge pull request #11495 from rudkx/add-more-type-checker-perf-tests
2017-08-16 21:55:54 -07:00
Mark Lacey
5178f88924
Move earlier expression type checker performance tests into the new location.
2017-08-16 21:32:42 -07:00
Mark Lacey
8520b579db
Merge pull request #11494 from rudkx/add-type-checker-perf-tests
...
Add type checker performance tests.
2017-08-16 21:32:06 -07:00
Mark Lacey
a133807601
Add type checker performance tests.
...
Add type checker performance tests under
validation-test/Sema/type_checker_perf.
Under ./fast/ we have tests that compile reasonably quickly now but at
one point did not.
Under ./slow/ we have tests that are still very slow to compile.
Some tests use %scale-test and others
-solver-expression-time-threshold to determine if they are scaling
well or compiling fast enough.
I've got several more tests gathered that have not yet been set up to
run in our test system. Those are forthcoming!
Further contributions welcome.
Thanks go to @xedin who helped collect most of the test cases.
2017-08-16 21:02:50 -07:00
Arnold Schwaighofer
6a1dbef72b
Revert "Disable one more test that is failing on bots on armv7"
...
This reverts commit 6c62307281 .
The cause of the failure in LLVM should be fixed.
rdar://33761334
2017-08-16 08:36:22 -07:00
Huon Wilson
10cc96b781
[validation-test] Add some type checker scale-tests.
2017-08-15 17:38:51 -07:00
Joe Shajrawi
66d0df6bae
Revert "Temporary disable failing armv7 tests"
...
This reverts commit 78e5e25215 .
2017-08-15 13:43:57 -07:00
Michael Ilseman
70b836baab
Merge pull request #10971 from an0/master
...
Fix String.UTF8View.Index's conversion init
2017-08-14 14:59:32 -07:00
swift-ci
bb4fd09ccd
Merge pull request #11456 from practicalswift/swiftc-28836-functy-hasarchetype
2017-08-14 12:13:47 -07:00
Robert Widmann
76f9c3e096
Merge pull request #11451 from CodaFi/in-glome-we-trust
...
Turn on circularity checks for ProtocolCompositions
2017-08-14 12:07:36 -07:00
practicalswift
17ca499b04
[swiftc (54 vs. 5588)] Add crasher in swift::TypeChecker::configureInterfaceType
...
Add test case for crash triggered in `swift::TypeChecker::configureInterfaceType`.
Current number of unresolved compiler crashers: 54 (5588 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `!funcTy->hasArchetype()` added on 2016-07-24 by you in commit c55e0eec :-)
Assertion failure in [`lib/Sema/TypeCheckGeneric.cpp (line 883)`](6726f2491f/lib/Sema/TypeCheckGeneric.cpp (L883) ):
```
Assertion `!funcTy->hasArchetype()' failed.
When executing: void swift::TypeChecker::configureInterfaceType(swift::AbstractFunctionDecl *, swift::GenericSignature *)
```
Assertion context:
```c++
info = info.withThrows();
assert(std::all_of(argTy.begin(), argTy.end(), [](const AnyFunctionType::Param &aty){
return !aty.getType()->hasArchetype();
}));
assert(!funcTy->hasArchetype());
if (initFuncTy)
assert(!initFuncTy->hasArchetype());
if (sig && i == e-1) {
funcTy = GenericFunctionType::get(sig, argTy, funcTy, info);
```
Stack trace:
```
0 0x0000000003f25fd4 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3f25fd4)
1 0x0000000003f26316 SignalHandler(int) (/path/to/swift/bin/swift+0x3f26316)
2 0x00007ff1f9cea390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007ff1f820f428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007ff1f821102a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007ff1f8207bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007ff1f8207c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x0000000001285257 swift::TypeChecker::configureInterfaceType(swift::AbstractFunctionDecl*, swift::GenericSignature*) (/path/to/swift/bin/swift+0x1285257)
8 0x0000000001283bbe swift::TypeChecker::validateGenericFuncSignature(swift::AbstractFunctionDecl*) (/path/to/swift/bin/swift+0x1283bbe)
9 0x0000000001268a77 (anonymous namespace)::DeclChecker::visitFuncDecl(swift::FuncDecl*) (/path/to/swift/bin/swift+0x1268a77)
10 0x0000000001253824 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1253824)
11 0x000000000126534b (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x126534b)
12 0x00000000012538ee (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x12538ee)
13 0x000000000126664b (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x126664b)
14 0x0000000001253804 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1253804)
15 0x00000000012536f3 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x12536f3)
16 0x00000000012c3d55 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x12c3d55)
17 0x00000000012c205c swift::TypeChecker::typeCheckFunctionBodyUntil(swift::FuncDecl*, swift::SourceLoc) (/path/to/swift/bin/swift+0x12c205c)
18 0x00000000012c1eb5 swift::TypeChecker::typeCheckAbstractFunctionBodyUntil(swift::AbstractFunctionDecl*, swift::SourceLoc) (/path/to/swift/bin/swift+0x12c1eb5)
19 0x00000000012c2c2d swift::TypeChecker::typeCheckAbstractFunctionBody(swift::AbstractFunctionDecl*) (/path/to/swift/bin/swift+0x12c2c2d)
20 0x00000000012e2638 typeCheckFunctionsAndExternalDecls(swift::TypeChecker&) (/path/to/swift/bin/swift+0x12e2638)
21 0x00000000012e352a swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12e352a)
22 0x0000000001013ce7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1013ce7)
23 0x00000000004bc4d7 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bc4d7)
24 0x00000000004bb284 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bb284)
25 0x0000000000473494 main (/path/to/swift/bin/swift+0x473494)
26 0x00007ff1f81fa830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
27 0x0000000000470d49 _start (/path/to/swift/bin/swift+0x470d49)
```
2017-08-14 19:22:23 +02:00
practicalswift
835631ccf0
[swiftc (53 vs. 5588)] Add crasher in swift::GenericEnvironment::mapTypeOutOfContext
...
Add test case for crash triggered in `swift::GenericEnvironment::mapTypeOutOfContext`.
Current number of unresolved compiler crashers: 53 (5588 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `!type->hasTypeParameter() && "already have an interface type"` added on 2016-12-18 by you in commit fb0f372e :-)
Assertion failure in [`lib/AST/GenericEnvironment.cpp (line 160)`](31d7f741d0/lib/AST/GenericEnvironment.cpp (L160) ):
```
Assertion `!type->hasTypeParameter() && "already have an interface type"' failed.
When executing: static swift::Type swift::GenericEnvironment::mapTypeOutOfContext(swift::GenericEnvironment *, swift::Type)
```
Assertion context:
```c++
}
Type
GenericEnvironment::mapTypeOutOfContext(GenericEnvironment *env,
Type type) {
assert(!type->hasTypeParameter() && "already have an interface type");
if (!env)
return type.substDependentTypesWithErrorTypes();
return env->mapTypeOutOfContext(type);
```
Stack trace:
```
0 0x0000000003f25fd4 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3f25fd4)
1 0x0000000003f26316 SignalHandler(int) (/path/to/swift/bin/swift+0x3f26316)
2 0x00007f7a7dfb6390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f7a7c4db428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f7a7c4dd02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f7a7c4d3bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f7a7c4d3c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x0000000001615c84 swift::GenericEnvironment::mapTypeOutOfContext(swift::GenericEnvironment*, swift::Type) (/path/to/swift/bin/swift+0x1615c84)
8 0x0000000001624a0a maybeAddSameTypeRequirementForNestedType(swift::GenericSignatureBuilder::PotentialArchetype*, swift::GenericSignatureBuilder::RequirementSource const*, swift::GenericSignatureBuilder&) (/path/to/swift/bin/swift+0x1624a0a)
9 0x000000000162be54 swift::GenericSignatureBuilder::updateSuperclass(swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type, swift::GenericSignatureBuilder::RequirementSource const*)::$_20::operator()() const (/path/to/swift/bin/swift+0x162be54)
10 0x000000000162bb85 swift::GenericSignatureBuilder::updateSuperclass(swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type, swift::GenericSignatureBuilder::RequirementSource const*) (/path/to/swift/bin/swift+0x162bb85)
11 0x000000000162c32c swift::GenericSignatureBuilder::addSuperclassRequirementDirect(swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type, swift::GenericSignatureBuilder::RequirementSource const*) (/path/to/swift/bin/swift+0x162c32c)
12 0x000000000162c9d7 swift::GenericSignatureBuilder::addTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind) (/path/to/swift/bin/swift+0x162c9d7)
13 0x000000000163ddb3 swift::GenericSignatureBuilder::ConstraintResult llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>::callback_fn<swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*)::$_23>(long, swift::Type, swift::TypeRepr const*) (/path/to/swift/bin/swift+0x163ddb3)
14 0x0000000001637102 std::_Function_handler<void (swift::Type, swift::TypeRepr const*), visitInherited(llvm::ArrayRef<swift::TypeLoc>, llvm::function_ref<swift::GenericSignatureBuilder::ConstraintResult (swift::Type, swift::TypeRepr const*)>)::$_56>::_M_invoke(std::_Any_data const&, swift::Type&&, swift::TypeRepr const*&&) (/path/to/swift/bin/swift+0x1637102)
15 0x0000000001627f30 swift::GenericSignatureBuilder::addInheritedRequirements(swift::TypeDecl*, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::RequirementSource const*, swift::ModuleDecl*) (/path/to/swift/bin/swift+0x1627f30)
16 0x00000000016281ee swift::GenericSignatureBuilder::addConformanceRequirement(swift::GenericSignatureBuilder::PotentialArchetype*, swift::ProtocolDecl*, swift::GenericSignatureBuilder::RequirementSource const*) (/path/to/swift/bin/swift+0x16281ee)
17 0x000000000162c625 swift::GenericSignatureBuilder::addTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind) (/path/to/swift/bin/swift+0x162c625)
18 0x000000000162a05b swift::GenericSignatureBuilder::addRequirement(swift::Requirement const&, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::ModuleDecl*, swift::SubstitutionMap const*) (/path/to/swift/bin/swift+0x162a05b)
19 0x00000000015f58ac swift::ProtocolDecl::computeRequirementSignature() (/path/to/swift/bin/swift+0x15f58ac)
20 0x0000000001286c98 swift::TypeChecker::validateGenericTypeSignature(swift::GenericTypeDecl*) (/path/to/swift/bin/swift+0x1286c98)
21 0x00000000012556c2 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x12556c2)
22 0x000000000126632f (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x126632f)
23 0x0000000001253804 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1253804)
24 0x000000000126534b (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x126534b)
25 0x00000000012538ee (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x12538ee)
26 0x00000000012536f3 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x12536f3)
27 0x00000000012e3434 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12e3434)
28 0x0000000001013ce7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1013ce7)
29 0x00000000004bc4d7 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bc4d7)
30 0x00000000004bb284 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bb284)
31 0x0000000000473494 main (/path/to/swift/bin/swift+0x473494)
32 0x00007f7a7c4c6830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
33 0x0000000000470d49 _start (/path/to/swift/bin/swift+0x470d49)
```
2017-08-14 17:43:53 +02:00
practicalswift
e0f7264f39
[swiftc (52 vs. 5588)] Add crasher in swift::TypeChecker::typeCheckExprPattern
...
Add test case for crash triggered in `swift::TypeChecker::typeCheckExprPattern`.
Current number of unresolved compiler crashers: 52 (5588 resolved)
/cc @CodaFi - just wanted to let you know that this crasher caused an assertion failure for the assertion `t.isNull() || !t->is<InOutType>()` added on 2017-07-11 by you in commit 8cdddef2 :-)
Assertion failure in [`lib/AST/Decl.cpp (line 3865)`](f82016efd2/lib/AST/Decl.cpp (L3865) ):
```
Assertion `t.isNull() || !t->is<InOutType>()' failed.
When executing: void swift::VarDecl::setType(swift::Type)
```
Assertion context:
```c++
if (isInOut()) return InOutType::get(typeInContext);
return typeInContext;
}
void VarDecl::setType(Type t) {
assert(t.isNull() || !t->is<InOutType>());
typeInContext = t;
if (t && t->hasError())
setInvalid();
}
```
Stack trace:
```
0 0x0000000003f25fd4 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3f25fd4)
1 0x0000000003f26316 SignalHandler(int) (/path/to/swift/bin/swift+0x3f26316)
2 0x00007f07070ff390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f0705624428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f070562602a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f070561cbd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f070561cc82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000015f88ac (/path/to/swift/bin/swift+0x15f88ac)
8 0x00000000012418ae swift::TypeChecker::typeCheckExprPattern(swift::ExprPattern*, swift::DeclContext*, swift::Type) (/path/to/swift/bin/swift+0x12418ae)
9 0x000000000128d8ad swift::TypeChecker::coercePatternToType(swift::Pattern*&, swift::DeclContext*, swift::Type, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, swift::TypeLoc, bool) (/path/to/swift/bin/swift+0x128d8ad)
10 0x00000000012c4b1d swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x12c4b1d)
11 0x00000000012c3ce5 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x12c3ce5)
12 0x00000000012c35d6 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x12c35d6)
13 0x00000000012e34a0 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12e34a0)
14 0x0000000001013ce7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1013ce7)
15 0x00000000004bc4d7 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bc4d7)
16 0x00000000004bb284 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bb284)
17 0x0000000000473494 main (/path/to/swift/bin/swift+0x473494)
18 0x00007f070560f830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
19 0x0000000000470d49 _start (/path/to/swift/bin/swift+0x470d49)
```
2017-08-14 16:06:04 +02:00
practicalswift
53157f2451
[swiftc (51 vs. 5588)] Add crasher in swift::TypeChecker::lookupMember
...
Add test case for crash triggered in `swift::TypeChecker::lookupMember`.
Current number of unresolved compiler crashers: 51 (5588 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `foundInType->isExistentialType()` added on 2017-07-27 by you in commit bfb252ab :-)
Assertion failure in [`lib/Sema/TypeCheckNameLookup.cpp (line 159)`](5456dc60f0/lib/Sema/TypeCheckNameLookup.cpp (L159) ):
```
Assertion `foundInType->isExistentialType()' failed.
When executing: void (anonymous namespace)::LookupResultBuilder::add(swift::ValueDecl *, swift::DeclContext *, swift::Type)
```
Assertion context:
```c++
conformanceOptions);
if (!conformance) {
// If there's no conformance, we have an existential
// and we found a member from one of the protocols, and
// not a class constraint if any.
assert(foundInType->isExistentialType());
addResult(found);
return;
}
if (conformance->isAbstract()) {
```
Stack trace:
```
0 0x0000000003f25fd4 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3f25fd4)
1 0x0000000003f26316 SignalHandler(int) (/path/to/swift/bin/swift+0x3f26316)
2 0x00007fd0f05f6390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007fd0eeb1b428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007fd0eeb1d02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007fd0eeb13bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007fd0eeb13c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x0000000001288d45 (anonymous namespace)::LookupResultBuilder::add(swift::ValueDecl*, swift::DeclContext*, swift::Type) (/path/to/swift/bin/swift+0x1288d45)
8 0x00000000012892e1 swift::TypeChecker::lookupMember(swift::DeclContext*, swift::Type, swift::DeclName, swift::OptionSet<swift::NameLookupFlags, unsigned int>) (/path/to/swift/bin/swift+0x12892e1)
9 0x0000000001289cbd swift::TypeChecker::lookupConstructors(swift::DeclContext*, swift::Type, swift::OptionSet<swift::NameLookupFlags, unsigned int>) (/path/to/swift/bin/swift+0x1289cbd)
10 0x000000000136fb81 diagSyntacticUseRestrictions(swift::TypeChecker&, swift::Expr const*, swift::DeclContext const*, bool)::DiagnoseWalker::checkUseOfMetaTypeName(swift::Expr*) (/path/to/swift/bin/swift+0x136fb81)
11 0x000000000136e8e7 diagSyntacticUseRestrictions(swift::TypeChecker&, swift::Expr const*, swift::DeclContext const*, bool)::DiagnoseWalker::walkToExprPre(swift::Expr*) (/path/to/swift/bin/swift+0x136e8e7)
12 0x00000000015cdd0b swift::Expr::walk(swift::ASTWalker&) (/path/to/swift/bin/swift+0x15cdd0b)
13 0x0000000001367cb3 swift::performSyntacticExprDiagnostics(swift::TypeChecker&, swift::Expr const*, swift::DeclContext const*, bool) (/path/to/swift/bin/swift+0x1367cb3)
14 0x000000000123c485 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x123c485)
15 0x00000000012c3db5 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x12c3db5)
16 0x00000000012c35d6 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x12c35d6)
17 0x00000000012e34a0 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12e34a0)
18 0x0000000001013ce7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1013ce7)
19 0x00000000004bc4d7 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bc4d7)
20 0x00000000004bb284 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bb284)
21 0x0000000000473494 main (/path/to/swift/bin/swift+0x473494)
22 0x00007fd0eeb06830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
23 0x0000000000470d49 _start (/path/to/swift/bin/swift+0x470d49)
```
2017-08-14 14:29:15 +02:00
Robert Widmann
f479f27420
Turn on circularity checks for ProtocolCompositions
...
When resolving protocol composition types, using the
old type checker to resolve the type manually instead
of the iterative type checker submits a recursive-but-
satisfiable request to the ITC. This way we directly
resolve through TypeCheckType and can catch the
circularity before it takes down the compiler.
2017-08-14 03:55:22 -07:00
practicalswift
efcda8802b
[swiftc (50 vs. 5588)] Add crasher in swift::IterativeTypeChecker::processTypeCheckSuperclass
...
Add test case for crash triggered in `swift::IterativeTypeChecker::processTypeCheckSuperclass`.
Current number of unresolved compiler crashers: 50 (5588 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `(!superclass || !superclass->hasArchetype()) && "superclass must be interface type"` added on 2016-06-25 by you in commit 680688cb :-)
Assertion failure in [`lib/AST/Decl.cpp (line 5399)`](1f136dba52/lib/AST/Decl.cpp (L5399) ):
```
Assertion `(!superclass || !superclass->hasArchetype()) && "superclass must be interface type"' failed.
When executing: void swift::ClassDecl::setSuperclass(swift::Type)
```
Assertion context:
```c++
return nullptr;
}
void ClassDecl::setSuperclass(Type superclass) {
assert((!superclass || !superclass->hasArchetype())
&& "superclass must be interface type");
LazySemanticInfo.Superclass.setPointerAndInt(superclass, true);
}
```
Stack trace:
```
0 0x0000000003f25fd4 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3f25fd4)
1 0x0000000003f26316 SignalHandler(int) (/path/to/swift/bin/swift+0x3f26316)
2 0x00007efe46964390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007efe44e89428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007efe44e8b02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007efe44e81bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007efe44e81c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000015fcb7d (/path/to/swift/bin/swift+0x15fcb7d)
8 0x000000000139a40d swift::IterativeTypeChecker::processTypeCheckSuperclass(swift::ClassDecl*, llvm::function_ref<bool (swift::TypeCheckRequest)>) (/path/to/swift/bin/swift+0x139a40d)
9 0x0000000001363626 swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) (/path/to/swift/bin/swift+0x1363626)
10 0x00000000013636eb swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) (/path/to/swift/bin/swift+0x13636eb)
11 0x00000000013636eb swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) (/path/to/swift/bin/swift+0x13636eb)
12 0x000000000124b929 swift::TypeChecker::resolveInheritanceClause(llvm::PointerUnion<swift::TypeDecl*, swift::ExtensionDecl*>) (/path/to/swift/bin/swift+0x124b929)
13 0x00000000016983bc swift::ConformanceLookupTable::updateLookupTable(swift::NominalTypeDecl*, swift::ConformanceLookupTable::ConformanceStage, swift::LazyResolver*) (/path/to/swift/bin/swift+0x16983bc)
14 0x0000000001697d4f swift::ConformanceLookupTable::updateLookupTable(swift::NominalTypeDecl*, swift::ConformanceLookupTable::ConformanceStage, swift::LazyResolver*) (/path/to/swift/bin/swift+0x1697d4f)
15 0x0000000001697c75 swift::ConformanceLookupTable::updateLookupTable(swift::NominalTypeDecl*, swift::ConformanceLookupTable::ConformanceStage, swift::LazyResolver*) (/path/to/swift/bin/swift+0x1697c75)
16 0x000000000169bd7e swift::ConformanceLookupTable::getAllProtocols(swift::NominalTypeDecl*, swift::LazyResolver*, llvm::SmallVectorImpl<swift::ProtocolDecl*>&) (/path/to/swift/bin/swift+0x169bd7e)
17 0x0000000001671976 swift::NominalTypeDecl::getAllProtocols() const (/path/to/swift/bin/swift+0x1671976)
18 0x0000000001299a61 swift::TypeChecker::findWitnessedObjCRequirements(swift::ValueDecl const*, bool) (/path/to/swift/bin/swift+0x1299a61)
19 0x0000000001259c63 shouldMarkAsObjC(swift::TypeChecker&, swift::ValueDecl const*, bool) (/path/to/swift/bin/swift+0x1259c63)
20 0x0000000001268e97 (anonymous namespace)::DeclChecker::visitFuncDecl(swift::FuncDecl*) (/path/to/swift/bin/swift+0x1268e97)
21 0x0000000001253824 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1253824)
22 0x0000000001255951 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x1255951)
23 0x00000000016642ab swift::DeclContext::lookupQualified(swift::Type, swift::DeclName, swift::NLOptions, swift::LazyResolver*, llvm::SmallVectorImpl<swift::ValueDecl*>&) const (/path/to/swift/bin/swift+0x16642ab)
24 0x00000000012892ae swift::TypeChecker::lookupMember(swift::DeclContext*, swift::Type, swift::DeclName, swift::OptionSet<swift::NameLookupFlags, unsigned int>) (/path/to/swift/bin/swift+0x12892ae)
25 0x00000000012db5b0 diagnoseUnknownType(swift::TypeChecker&, swift::DeclContext*, swift::Type, swift::SourceRange, swift::ComponentIdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::OptionSet<swift::NameLookupFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x12db5b0)
26 0x00000000012d51b0 resolveIdentTypeComponent(swift::TypeChecker&, swift::DeclContext*, llvm::ArrayRef<swift::ComponentIdentTypeRepr*>, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x12d51b0)
27 0x00000000012d47ca swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x12d47ca)
28 0x00000000012d5597 (anonymous namespace)::TypeResolver::resolveType(swift::TypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>) (/path/to/swift/bin/swift+0x12d5597)
29 0x00000000012d549c swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x12d549c)
30 0x00000000012d3cd0 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x12d3cd0)
31 0x000000000124c86c swift::TypeChecker::checkInheritanceClause(swift::Decl*, swift::GenericTypeResolver*) (/path/to/swift/bin/swift+0x124c86c)
32 0x0000000001255271 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x1255271)
33 0x000000000126524c (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x126524c)
34 0x00000000012538ee (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x12538ee)
35 0x0000000001264bab (anonymous namespace)::DeclChecker::visitExtensionDecl(swift::ExtensionDecl*) (/path/to/swift/bin/swift+0x1264bab)
36 0x00000000012537f4 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x12537f4)
37 0x00000000012536f3 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x12536f3)
38 0x00000000012e3434 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12e3434)
39 0x0000000001013ce7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x1013ce7)
40 0x00000000004bc4d7 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bc4d7)
41 0x00000000004bb284 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4bb284)
42 0x0000000000473494 main (/path/to/swift/bin/swift+0x473494)
43 0x00007efe44e74830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
44 0x0000000000470d49 _start (/path/to/swift/bin/swift+0x470d49)
```
2017-08-14 10:41:13 +02:00
swift-ci
1f136dba52
Merge pull request #11383 from practicalswift/swiftc-28831-type-ismaterializable-argument-to-setmustbematerializablerecursive-may-not-be-in
2017-08-14 01:39:02 -07:00
Slava Pestov
bf8add0c01
Add regression test for rdar://33365139, which was fixed at some point
2017-08-14 00:31:57 -04:00
Robert Widmann
e4bfd600cc
Remove SwiftExperimental
2017-08-11 14:21:06 -07:00
Arnold Schwaighofer
6c62307281
Disable one more test that is failing on bots on armv7
...
rdar://33761334
2017-08-11 08:52:07 -07:00
swift-ci
04a630b7ef
Merge pull request #11423 from DougGregor/gsb-redundant-subpaths
2017-08-10 18:07:04 -07:00
Doug Gregor
bebac49cee
[GSB] Form minimal requirement sources by removing redundant subpaths.
...
When we detect that a requirement source is self-derived, identify the
redundant subpath and remove it to produce a new, smaller requirement
source that computes the same result. We were doing this form the
limited case where the redundant subpath ended at the end of the
requirement source; generalize that notion.
Fixes SR-5601.
2017-08-10 17:00:07 -07:00
Michael Ilseman
2415a4df52
[stdlib] Drop Unicode 8 tries in stdlib (entirely)
...
This drops the last vestage of Unicode 8 tries from the standard
library. Switches everything over to use ICU.
2017-08-09 19:17:56 -07:00
Joe Shajrawi
78e5e25215
Temporary disable failing armv7 tests
2017-08-08 15:22:14 -07:00
practicalswift
3f661b8d6d
[swiftc (49 vs. 5588)] Add crasher in swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(...)
...
Add test case for crash triggered in `swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(...)`.
Current number of unresolved compiler crashers: 49 (5588 resolved)
/cc @cwillmor - just wanted to let you know that this crasher caused an assertion failure for the assertion `type->isMaterializable() && "argument to setMustBeMaterializableRecursive may not be inherently " "non-materializable"` added on 2015-05-21 by you in commit df9136e0 :-)
Assertion failure in [`lib/Sema/ConstraintSystem.cpp (line 181)`](efe143c2f4/lib/Sema/ConstraintSystem.cpp (L181) ):
```
Assertion `type->isMaterializable() && "argument to setMustBeMaterializableRecursive may not be inherently " "non-materializable"' failed.
When executing: void swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(swift::Type)
```
Assertion context:
```c++
void ConstraintSystem::setMustBeMaterializableRecursive(Type type)
{
assert(type->isMaterializable() &&
"argument to setMustBeMaterializableRecursive may not be inherently "
"non-materializable");
type = getFixedTypeRecursive(type, /*wantRValue=*/false);
type = type->lookThroughAllAnyOptionalTypes();
if (auto typeVar = type->getAs<TypeVariableType>()) {
typeVar->getImpl().setMustBeMaterializable(getSavedBindings());
```
Stack trace:
```
0 0x0000000003f9c924 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3f9c924)
1 0x0000000003f9cc66 SignalHandler(int) (/path/to/swift/bin/swift+0x3f9cc66)
2 0x00007f236f9c6390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f236deeb428 gsignal /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f236deed02a abort /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f236dee3bd7 __assert_fail_base /build/glibc-bfm8X4/glibc-2.23/assert/assert.c:92:0
6 0x00007f236dee3c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x000000000121f142 swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(swift::Type) (/path/to/swift/bin/swift+0x121f142)
8 0x000000000121f0f3 swift::constraints::ConstraintSystem::setMustBeMaterializableRecursive(swift::Type) (/path/to/swift/bin/swift+0x121f0f3)
9 0x00000000011e8ebc swift::constraints::ConstraintSystem::matchTypes(swift::Type, swift::Type, swift::constraints::ConstraintKind, swift::OptionSet<swift::constraints::ConstraintSystem::TypeMatchFlags, unsigned int>, swift::constraints::ConstraintLocatorBuilder) (/path/to/swift/bin/swift+0x11e8ebc)
10 0x00000000011f8a18 swift::constraints::ConstraintSystem::addConstraintImpl(swift::constraints::ConstraintKind, swift::Type, swift::Type, swift::constraints::ConstraintLocatorBuilder, bool) (/path/to/swift/bin/swift+0x11f8a18)
11 0x00000000011ef5cd swift::constraints::ConstraintSystem::addConstraint(swift::constraints::ConstraintKind, swift::Type, swift::Type, swift::constraints::ConstraintLocatorBuilder, bool) (/path/to/swift/bin/swift+0x11ef5cd)
12 0x0000000001200137 swift::constraints::ConstraintSystem::tryTypeVariableBindings(unsigned int, swift::TypeVariableType*, llvm::ArrayRef<swift::constraints::ConstraintSystem::PotentialBinding>, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1200137)
13 0x0000000001204004 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1204004)
14 0x0000000001200741 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1200741)
15 0x0000000001200189 swift::constraints::ConstraintSystem::tryTypeVariableBindings(unsigned int, swift::TypeVariableType*, llvm::ArrayRef<swift::constraints::ConstraintSystem::PotentialBinding>, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1200189)
16 0x0000000001204004 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1204004)
17 0x0000000001200741 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1200741)
18 0x00000000012021b8 swift::constraints::ConstraintSystem::solve(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x12021b8)
19 0x0000000001203cd2 swift::constraints::ConstraintSystem::solve(swift::Expr*&, swift::Type, swift::ExprTypeCheckListener*, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x1203cd2)
20 0x00000000012377b7 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>) (/path/to/swift/bin/swift+0x12377b7)
21 0x000000000123b63b swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x123b63b)
22 0x00000000012c30f0 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x12c30f0)
23 0x00000000012c28f6 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x12c28f6)
24 0x00000000012e28f0 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12e28f0)
25 0x00000000010142e7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0x10142e7)
26 0x00000000004bba87 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bba87)
27 0x00000000004ba834 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4ba834)
28 0x0000000000473494 main (/path/to/swift/bin/swift+0x473494)
29 0x00007f236ded6830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
30 0x0000000000470d49 _start (/path/to/swift/bin/swift+0x470d49)
```
2017-08-08 03:59:50 +02:00
practicalswift
0949a758b2
[swiftc (48 vs. 5588)] Add crasher in swift::TypeChecker::validateExtension(...)
...
Add test case for crash triggered in `swift::TypeChecker::validateExtension(...)`.
Current number of unresolved compiler crashers: 48 (5588 resolved)
Stack trace:
```
0 0x0000000003f81e94 PrintStackTraceSignalHandler(void*) (/path/to/swift/bin/swift+0x3f81e94)
1 0x0000000003f821d6 SignalHandler(int) (/path/to/swift/bin/swift+0x3f821d6)
2 0x00007f72592e4390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x000000000125ca20 formExtensionInterfaceType(swift::Type, swift::GenericParamList*) (/path/to/swift/bin/swift+0x125ca20)
4 0x000000000125ca29 formExtensionInterfaceType(swift::Type, swift::GenericParamList*) (/path/to/swift/bin/swift+0x125ca29)
5 0x000000000123ee82 checkExtensionGenericParams(swift::TypeChecker&, swift::ExtensionDecl*, swift::Type, swift::GenericParamList*) (/path/to/swift/bin/swift+0x123ee82)
6 0x000000000123229f swift::TypeChecker::validateExtension(swift::ExtensionDecl*) (/path/to/swift/bin/swift+0x123229f)
7 0x00000000012492eb (anonymous namespace)::DeclChecker::visitExtensionDecl(swift::ExtensionDecl*) (/path/to/swift/bin/swift+0x12492eb)
8 0x0000000001238194 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1238194)
9 0x0000000001238093 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x1238093)
10 0x00000000012c7e94 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x12c7e94)
11 0x0000000000ffa5d7 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xffa5d7)
12 0x00000000004bc0e0 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4bc0e0)
13 0x00000000004ba654 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4ba654)
14 0x00000000004732b4 main (/path/to/swift/bin/swift+0x4732b4)
15 0x00007f72577f4830 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:325:0
16 0x0000000000470b69 _start (/path/to/swift/bin/swift+0x470b69)
```
2017-08-07 17:07:01 +02:00
Slava Pestov
2c61ed5c99
Sema: Fix pre-check expression folding nested types of generic parameters
...
This allows [Foo.Bar](), [Foo.Bar?]() etc to type check if Bar is
an associated type of a generic parameter Foo.
Fixes <rdar://problem/27631137>.
2017-08-06 20:27:47 -07:00
Slava Pestov
bf2ca1ab94
Sema/AST: Don't crash when stdlib declarations are missing
...
I don't have reduced test cases. The original test cases
were a series of frontend invocations in -parse-stdlib
mode.
While the original bugs seem to have been fixed, while
verifying I found a few places where we weren't checking
for null decls property in the ASTContext.
Probably not too useful to check this in, but I don't see it
causing any harm, either.
2017-08-06 00:43:23 -07:00
Slava Pestov
edfaf7f724
Sema: Fix name lookup of nominal types nested inside a class from a protocol
2017-08-06 00:21:49 -07:00