]> granicus.if.org Git - clang/commit
[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)
commit9011c7f9bb4cfc70bbf8e76a7c5795f0e9a45fe9
tree40aab7c2ead4dcf3391e89058d072504d384a39f
parent51c44966aa9d107d85bfdd77fc9d265c9b69415d
[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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@344864 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaStmtAsm.cpp
test/Analysis/asm.cpp [new file with mode: 0644]
test/Analysis/cfg.cpp