[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:54:46 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:
> 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?)


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