summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename test/CodeGenCXX/gnu-conditional-scalar-ext.cpp to conditional-gnu-ext.cppJohn McCall2011-02-211-62/+0
| | | | | | for consistency with other tests (and to remove "scalar" from the name). llvm-svn: 126104
* Change the representation of GNU ?: expressions to use a different expressionJohn McCall2011-02-171-3/+2
| | | | | | | | | | | | | | | | | | | | | | class and to bind the shared value using OpaqueValueExpr. This fixes an unnoticed problem with deserialization of these expressions where the deserialized form would lose the vital pointer-equality trait; or rather, it fixes it because this patch also does the right thing for deserializing OVEs. Change OVEs to not be a "temporary object" in the sense that copy elision is permitted. This new representation is not totally unawkward to work with, but I think that's really part and parcel with the semantics we're modelling here. In particular, it's much easier to fix things like the copy elision bug and to make the CFG look right. I've tried to update the analyzer to deal with this in at least some obvious cases, and I think we get a much better CFG out, but the printing of OpaqueValueExprs probably needs some work. llvm-svn: 125744
* IRgen for gnu extension's conditional lvalue expressionFariborz Jahanian2010-09-211-1/+18
| | | | | | | with missing LHS. radar 8453812. Executable test is checked into llvm test suite. llvm-svn: 114457
* Implements in IRgen gnu extensions missing LHS forFariborz Jahanian2010-09-201-0/+22
| | | | | | complex conditionals. Radar 8453812. llvm-svn: 114376
* Problem with gnu conditional extension with missingFariborz Jahanian2010-09-181-0/+13
| | | | | | | | | | | | | | 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 llvm-svn: 114296
* Patch to add IRgen support for Gnu's conditional operatorFariborz Jahanian2010-09-171-0/+11
extension when missing LHS. This patch covers scalar conditionals only. Others are wip. (pr7726, radar 8353567). llvm-svn: 114182
OpenPOWER on IntegriCloud