]> granicus.if.org Git - clang/commit
Expression statements undergo lvalue-to-rvalue conversion in C,
authorJohn McCall <rjmccall@apple.com>
Wed, 25 Aug 2010 02:50:31 +0000 (02:50 +0000)
committerJohn McCall <rjmccall@apple.com>
Wed, 25 Aug 2010 02:50:31 +0000 (02:50 +0000)
commita8f28da6265950eea768f7e4ade15e4ebaddd56f
tree37bc9b569d8c54aad830b105c2aa4e79a1afbfd4
parent911093e535ad16602b0a387b36039eeb5da685b4
Expression statements undergo lvalue-to-rvalue conversion in C,
but not in C++, so don't emit aggregate loads of volatile references
in null context in C++.  Happens to have been caught by an assertion.
We do not get the scalar case right.  Volatiles are really broken.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112019 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGExprAgg.cpp
test/CodeGenCXX/volatile.cpp [new file with mode: 0644]