[PATCH] D63533: [analyzer] Fix clang-tidy crash on GCCAsmStmt

Artem Dergachev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 19 13:58:30 PDT 2019


NoQ added inline comments.


================
Comment at: clang/test/Analysis/egraph-asm-goto-no-crash.cpp:1
+// RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-dump-egraph=%t.dot %s
+// RUN: cat %t.dot | FileCheck %s
----------------
NoQ wrote:
> NoQ wrote:
> > Ugh, you picked an exotic test as an example.
> > 
> > Let's try the following:
> > ```lang=c++
> > // RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection -verify %s
> > 
> > // expected-no-diagnostics
> > 
> > void clang_analyzer_warnIfReached();
> > 
> > void testAsmGoto() {
> >   asm goto("xor %0, %0\n je %l[label1]\n jl %l[label2]"
> >            : /* no outputs */
> >            : /* inputs */
> >            : /* clobbers */
> >            : label1, label2 /* any labels used */);
> > 
> >   label1:
> >   // FIXME: Should be reachable.
> >   clang_analyzer_warnIfReached();
> >   return;
> > 
> >   label2:
> >   // FIXME: Should be reachable.
> >   clang_analyzer_warnIfReached();
> >   return;
> > }
> > ```
> > 
> >  (and the egraph part in the main file is also out of place)
> (wait, one of these shouldn't be reachable, right?)
(i mean, let's do something similar, just with the correct amount of FIXMEs)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D63533/new/

https://reviews.llvm.org/D63533





More information about the cfe-commits mailing list