Uploaded image for project: 'Swift'
  1. Swift
  2. SR-4866

Stack overflow: Parsing phony empty paren exprs

    XMLWordPrintable

    Details

      Description

      Parse the attached file. Stack overflow.

      495 swift 0x0000000106d9e9aa swift::Parser::parseExprList(swift::tok, swift::tok, bool, bool, swift::SourceLoc&, llvm::SmallVectorImpl<swift::Expr*>&, llvm::SmallVectorImpl<swift::Identifier>&, llvm::SmallVectorImpl<swift::SourceLoc>&, swift::SourceLoc&, swift::Expr*&) + 218
      496 swift 0x0000000106d9efb1 swift::Parser::parseExprList(swift::tok, swift::tok) + 209
      497 swift 0x0000000106d949e0 swift::Parser::parseExprPostfix(swift::Diag<>, bool) + 2416
      498 swift 0x0000000106d926b5 swift::Parser::parseExprSequence(swift::Diag<>, bool, bool) + 3717
      499 swift 0x0000000106d91795 swift::Parser::parseExprImpl(swift::Diag<>, bool) + 101
      500 swift 0x0000000106da0be1 std::_1::function::func<swift::Parser::parseExprList(swift::tok, swift::tok, bool, bool, swift::SourceLoc&, llvm::SmallVectorImpl<swift::Expr*>&, llvm::SmallVectorImpl<swift::Identifier>&, llvm::SmallVectorImpl<swift::SourceLoc>&, swift::SourceLoc&, swift::Expr*&)::$_2, std::_1::allocator<swift::Parser::parseExprList(swift::tok, swift::tok, bool, bool, swift::SourceLoc&, llvm::SmallVectorImpl<swift::Expr*>&, llvm::SmallVectorImpl<swift::Identifier>&, llvm::SmallVectorImpl<swift::SourceLoc>&, swift::SourceLoc&, swift::Expr*&)::$_2>, swift::ParserStatus ()>::operator()() + 113
      501 swift 0x0000000106dafa6c swift::Parser::parseList(swift::tok, swift::SourceLoc, swift::SourceLoc&, bool, swift::Diag<>, std::__1::function<swift::ParserStatus ()>) + 396
      502 swift 0x0000000106d9e9aa swift::Parser::parseExprList(swift::tok, swift::tok, bool, bool, swift::SourceLoc&, llvm::SmallVectorImpl<swift::Expr*>&, llvm::SmallVectorImpl<swift::Identifier>&, llvm::SmallVectorImpl<swift::SourceLoc>&, swift::SourceLoc&, swift::Expr*&) + 218
      503 swift 0x0000000106d9efb1 swift::Parser::parseExprList(swift::tok, swift::tok) + 209
      504 swift 0x0000000106d949e0 swift::Parser::parseExprPostfix(swift::Diag<>, bool) + 2416
      505 swift 0x0000000106d926b5 swift::Parser::parseExprSequence(swift::Diag<>, bool, bool) + 3717
      506 swift 0x0000000106d91795 swift::Parser::parseExprImpl(swift::Diag<>, bool) + 101
      507 swift 0x0000000106da0be1 std::_1::function::func<swift::Parser::parseExprList(swift::tok, swift::tok, bool, bool, swift::SourceLoc&, llvm::SmallVectorImpl<swift::Expr*>&, llvm::SmallVectorImpl<swift::Identifier>&, llvm::SmallVectorImpl<swift::SourceLoc>&, swift::SourceLoc&, swift::Expr*&)::$_2, std::_1::allocator<swift::Parser::parseExprList(swift::tok, swift::tok, bool, bool, swift::SourceLoc&, llvm::SmallVectorImpl<swift::Expr*>&, llvm::SmallVectorImpl<swift::Identifier>&, llvm::SmallVectorImpl<swift::SourceLoc>&, swift::SourceLoc&, swift::Expr*&)::$_2>, swift::ParserStatus ()>::operator()() + 113
      508 swift 0x0000000106dafa6c swift::Parser::parseList(swift::tok, swift::SourceLoc, swift::SourceLoc&, bool, swift::Diag<>, std::__1::function<swift::ParserStatus ()>) + 396
      509 swift 0x0000000106d9e9aa swift::Parser::parseExprList(swift::tok, swift::tok, bool, bool, swift::SourceLoc&, llvm::SmallVectorImpl<swift::Expr*>&, llvm::SmallVectorImpl<swift::Identifier>&, llvm::SmallVectorImpl<swift::SourceLoc>&, swift::SourceLoc&, swift::Expr*&) + 218
      510 swift 0x0000000106d9efb1 swift::Parser::parseExprList(swift::tok, swift::tok) + 209
      511 swift 0x0000000106d949e0 swift::Parser::parseExprPostfix(swift::Diag<>, bool) + 2416

      etc.

        Attachments

        1. manyparen.swift
          32 kB
        2. t.swift
          258 kB

          Activity

            People

            • Assignee:
              christopherstern Christopher Ian Stern
              Reporter:
              bitjammer Ashley Garland
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: