NoQ accepted this revision.
NoQ added a comment.
Thanks!
Eww. Weird AST.
I wonder how this should work:
// RUN: %clang_analyze_cc1 -analyzer-checker debug.ExprInspection
-fheinous-gnu-extensions -w %s -verify
int clang_analyzer_eval(int);
int global;
void testRValueOutput() {
int &ref = global;
ref = 1;
__asm__("" : "=r"((int)ref));
clang_analyzer_eval(ref == 1); // currently says UNKNOWN
clang_analyzer_eval(global == 1); // currently says TRUE
}
The ultimate solution would probably be to add a fake cloned asm statement to
the CFG (instead of the real asm statement) that would point to the correct
output child-expression(s) that are untouched themselves but simply have their
noop casts removed.
Or we could try
Repository:
rC Clang
https://reviews.llvm.org/D45416
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits