<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </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 - Assertion `N->pred_size() == 1' failed"
   href="https://bugs.llvm.org/show_bug.cgi?id=36631">36631</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Assertion `N->pred_size() == 1' failed
          </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>enhancement
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>Static Analyzer
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>dcoughlin@apple.com
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>henric.karlsson@ericsson.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=20014" name="attach_20014" title="reproducer">attachment 20014</a> <a href="attachment.cgi?id=20014&action=edit" title="reproducer">[details]</a></span>
reproducer

Reproducer:
clang --analyze foo.c
(or clang-tidy -checks='-*,clang-analyzer-core*' foo.c -- )

results in:

clang-7.0: ../tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp:661: void
clang::ento::ExprEngine::VisitLogicalExpr(const clang::BinaryOperator *,
clang::ento::ExplodedNode *, clang::ento::ExplodedNodeSet &): Assertion
`N->pred_size() == 1' failed.
#0 0x0000000001584554 PrintStackTraceSignalHandler(void*)
(/repo/uabsson/llvm/build-all/bin/clang-7.0+0x1584554)
#1 0x00000000015848a6 SignalHandler(int)
(/repo/uabsson/llvm/build-all/bin/clang-7.0+0x15848a6)
#2 0x00007f90c5259390 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
#3 0x00007f90c3dbc428 gsignal
/build/glibc-Cl5G7W/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
#4 0x00007f90c3dbe02a abort /build/glibc-Cl5G7W/glibc-2.23/stdlib/abort.c:91:0
#5 0x00007f90c3db4bd7 __assert_fail_base
/build/glibc-Cl5G7W/glibc-2.23/assert/assert.c:92:0
#6 0x00007f90c3db4c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
#7 0x0000000002637480
clang::ento::ExprEngine::VisitLogicalExpr(clang::BinaryOperator const*,
clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)
(/repo/uabsson/llvm/build-all/bin/clang-7.0+0x2637480)
#8 0x000000000261d9f6 clang::ento::ExprEngine::Visit(clang::Stmt const*,
clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&)
(/repo/uabsson/llvm/build-all/bin/clang-7.0+0x261d9f6)
#9 0x000000000261a28c clang::ento::ExprEngine::ProcessStmt(clang::Stmt const*,
clang::ento::ExplodedNode*)
(/repo/uabsson/llvm/build-all/bin/clang-7.0+0x261a28c)
#10 0x0000000002619ef1
clang::ento::ExprEngine::processCFGElement(clang::CFGElement,
clang::ento::ExplodedNode*, unsigned int, clang::ento::NodeBuilderContext*)
(/repo/uabsson/llvm/build-all/bin/clang-7.0+0x2619ef1)
<...></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>