[AST, analyzer] Transform rvalue cast outputs to lvalues (fheinous-gnu-extensions)
authorAleksei Sidorin <a.sidorin@samsung.com>
Sat, 20 Oct 2018 22:49:23 +0000 (22:49 +0000)
committerAleksei Sidorin <a.sidorin@samsung.com>
Sat, 20 Oct 2018 22:49:23 +0000 (22:49 +0000)
commit55365e4b39fd10bec58d7cb1c436af9767c8dad2
tree8aa39de771ac15af6a8783d45d352adb3f247ac9
parente433cf1fd718f90bb7118a49ccfceff8b515cde8
[AST, analyzer] Transform rvalue cast outputs to lvalues (fheinous-gnu-extensions)

Despite the fact that cast expressions return rvalues, GCC still
handles such outputs as lvalues when compiling inline assembler.
In this commit, we are treating it by removing LValueToRValue
casts inside GCCAsmStmt outputs.

Differential Revision: https://reviews.llvm.org/D45416

llvm-svn: 344864
clang/lib/Sema/SemaStmtAsm.cpp
clang/test/Analysis/asm.cpp [new file with mode: 0644]
clang/test/Analysis/cfg.cpp