]> granicus.if.org Git - clang/commit
Problem with gnu conditional extension with missing
authorFariborz Jahanian <fjahanian@apple.com>
Sat, 18 Sep 2010 19:38:38 +0000 (19:38 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Sat, 18 Sep 2010 19:38:38 +0000 (19:38 +0000)
commit1fb019bf42f5757c027edb56e5bb70233787a39c
tree9c0c0bd8c25faa70b59827d4dfaa216fbfeceb16
parent97fe61ca1749110c28eb4570a710c8983711c7b3
Problem with gnu conditional extension with missing
LHS and when conditional expression is an array. Since
it will be decayed, saved expression must be saved with
decayed expression. This is necessary to preserve semantics
of this extension (and prevent an IRGen crash which expects
an array to always be decayed). I am sure there will be other
cases in c++ (aggregate conditionals for example) when saving of the
expression must happen after some transformation on conditional
expression has happened.
Doug, please review.  Fixes // rdar://8446940

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114296 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Sema/Sema.h
lib/Sema/SemaExpr.cpp
lib/Sema/SemaExprCXX.cpp
test/CodeGen/conditional-gnu-ext.c
test/CodeGenCXX/gnu-conditional-scalar-ext.cpp