aboutsummaryrefslogtreecommitdiff
path: root/test/Sema/conditional-expr.c
AgeCommit message (Collapse)Author
2009-11-06Turn off -Wsign-compare warnings by defaultDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86233 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Implement the conditional-operator part of -Wsign-compare. TurnJohn McCall
DiagnoseSignCompare into Sema::CheckSignCompare and call it from more places. Add some enumerator tests. These seem to expose some oddities in the types we're converting C++ enumerators to; in particular, they're converting to unsigned before int, which seems to contradict 4.5 [conv.prom] p2. Note to self: stop baiting Doug in my commit messages. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86128 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08Sema::CheckConditionalOperands(): Soften pointer/integer mismatch from ↵Steve Naroff
error->warning. Fixes <rdar://problem/6762239> [sema] gcc incompatibility; error on incompatible operand types in ?:. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68617 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24Rename clang to clang-cc.Daniel Dunbar
Tests and drivers updated, still need to shuffle dirs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67602 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12Fix <rdar://problem/5928590> clang -fsyntax-only: "incompatible operand ↵Steve Naroff
types ('int' and 'void')" on input that 'gcc -fsyntax-only' eats git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51002 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-13Fix a minor bug in isNullPointerConstant triggered by the linux Eli Friedman
tgmath.h. Note that there is another issue with tgmath.h, so mandel.c still doesn't work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47069 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12Make typechecking for enum+int compatibility stricter.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47005 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12Fix type compatibility between constant and variable arrays.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47003 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10Add a couple of sema tests for qualifiers with conditionals containing Eli Friedman
void*. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46939 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-30Fix test case and add a FIXME.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46577 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-14Revert r45951, Chris says it violates the C99 spec.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45961 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-14Rewrite Expr::isNullPointerConstant() to deal with multiple levels of ↵Steve Naroff
explicit casts. Now, isNullPointerConstant() will return true for the following: "(void*)(double*)0" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45951 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-13Change Sema::CheckAddressOfOperation() to respect C99-only addressof rules.Steve Naroff
Remove diagnostics from Sema::CheckIndirectionOperand(). C89/C99 allow dereferencing an incomplete type. clang appears to be emulating some incorrect gcc behavior (see below). void foo (void) { struct b; struct b* x = 0; struct b* y = &*x; // gcc produces an error ("dereferencing pointer to incomplete type") } With this patch, the above is now allowed. Bug/Patch by Eli Friedman! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45933 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-08Fix Sema::CheckConditionalOperands(). The null pointer constant checks need ↵Steve Naroff
to precede the check for two pointer operands. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45732 91177308-0d34-0410-b5e6-96231b3b80d8