Commits
practicalswift committed fa711cb9ced
[SIL] Add test case for crash triggered in swift::Parser::parseTypeSimple(swift::Diag<>, bool)
Stack trace:
```
<stdin>:3:7: error: expected '(' in argument list of function declaration
func x:inout p<
^
<stdin>:3:7: error: expected '->' after function parameter tuple
func x:inout p<
^
->
<stdin>:3:16: error: expected type
func x:inout p<
^
sil-opt: /path/to/swift/include/swift/Parse/ParserResult.h:73: T *swift::ParserResult<swift::TypeRepr>::get() const [T = swift::TypeRepr]: Assertion `getPtrOrNull() && "not checked for nullptr"' failed.
8 sil-opt 0x0000000000a54abd swift::Parser::parseTypeSimple(swift::Diag<>, bool) + 1229
9 sil-opt 0x0000000000a5620a swift::Parser::parseType(swift::Diag<>, bool) + 202
10 sil-opt 0x0000000000a1e1fc swift::Parser::parseFunctionSignature(swift::Identifier, swift::DeclName&, llvm::SmallVectorImpl<swift::Pattern*>&, swift::Parser::DefaultArgumentInfo&, swift::SourceLoc&, bool&, swift::TypeRepr*&) + 1020
11 sil-opt 0x0000000000a07cb5 swift::Parser::parseDeclFunc(swift::SourceLoc, swift::StaticSpellingKind, swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::DeclAttributes&) + 1957
12 sil-opt 0x00000000009ff69a swift::Parser::parseDecl(llvm::SmallVectorImpl<swift::Decl*>&, swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>) + 3306
13 sil-opt 0x0000000000a4968b swift::Parser::parseBraceItems(llvm::SmallVectorImpl<swift::ASTNode>&, swift::BraceItemListKind, swift::BraceItemListKind) + 2027
14 sil-opt 0x00000000009f413c swift::Parser::parseTopLevel() + 156
15 sil-opt 0x00000000009ef6bf swift::parseIntoSourceFile(swift::SourceFile&, unsigned int, bool*, swift::SILParserState*, swift::PersistentParserState*, swift::DelayedParsingCallbacks*) + 207
16 sil-opt 0x0000000000738da6 swift::CompilerInstance::performSema() + 2918
17 sil-opt 0x00000000007239fc main + 1916
Stack dump:
0. Program arguments: sil-opt -enable-sil-verify-all
1. With parser at source location: <stdin>:4:1
```