<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - crash in TypoCorrection with ill-formed source"
   href="https://llvm.org/bugs/show_bug.cgi?id=28808">28808</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>crash in TypoCorrection with ill-formed source
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Frontend
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedclangbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>Wolfgang_Pieb@playstation.sony.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>// A quick look in the debugger seems to point to use of a Scope 
// after it's been freed by the parser.

void foo() {
  do {
    for (;;)
      if (0)
        ;
      else if (0)
        ;
      else
        do
          if (0)
            if (0)
              do {
                {}
              } while(zz);
  } while (zz);
}

// clang -c test.cpp

#0 0x0000000001b4fa65 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
/home/user/src/llvm/trunk/llvm/lib/Support/Unix/Signals.inc:406:0
#1 0x0000000001b4d9ae llvm::sys::RunSignalHandlers()
/home/user/src/llvm/trunk/llvm/lib/Support/Signals.cpp:45:0
#2 0x0000000001b4db12 SignalHandler(int)
/home/user/src/llvm/trunk/llvm/lib/Support/Unix/Signals.inc:246:0
#3 0x00007f820e278340 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x10340)
#4 0x00000000029bf2a8 findOuterContext(clang::Scope*)
/home/user/src/llvm/trunk/llvm/tools/clang/lib/Sema/SemaLookup.cpp:951:0
#5 0x00000000029d0f34 clang::Sema::CppLookupName(clang::LookupResult&,
clang::Scope*)
/home/user/src/llvm/trunk/llvm/tools/clang/lib/Sema/SemaLookup.cpp:1139:0
#6 0x00000000029d3645 clang::Sema::LookupName(clang::LookupResult&,
clang::Scope*, bool)
/home/user/src/llvm/trunk/llvm/tools/clang/lib/Sema/SemaLookup.cpp:1785:0
#7 0x00000000029d3c11 LookupPotentialTypoResult
/home/user/src/llvm/trunk/llvm/tools/clang/lib/Sema/SemaLookup.cpp:4297:0
#8 0x00000000029d3c11
clang::TypoCorrectionConsumer::resolveCorrection(clang::TypoCorrection&)
/home/user/src/llvm/trunk/llvm/tools/clang/lib/Sema/SemaLookup.cpp:4018:0
#9 0x00000000029d407b clang::TypoCorrectionConsumer::getNextCorrection()
/home/user/src/llvm/trunk/llvm/tools/clang/lib/Sema/SemaLookup.cpp:4002:0

etc.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>