- Jun 21, 2011
-
-
Fariborz Jahanian authored
llvm-svn: 133529
-
Douglas Gregor authored
llvm-svn: 133528
-
Fariborz Jahanian authored
Expr value not getting changed by this call. llvm-svn: 133527
-
Chandler Carruth authored
of: a + b ? x : y. In our testing of this flag we've yet to hit a single case where the existing precedence was correct, so we should suggest grouping the ?: first. llvm-svn: 133526
-
Fariborz Jahanian authored
// rdar://9474349 llvm-svn: 133525
-
Chandler Carruth authored
expression of '?:'. Add a test case for this pattern, and also test the code that led to the crash in a "working" case as well. llvm-svn: 133523
-
Douglas Gregor authored
MaterializeTemporaryExpr captures a reference binding to a temporary value, making explicit that the temporary value (a prvalue) needs to be materialized into memory so that its address can be used. The intended AST invariant here is that a reference will always bind to a glvalue, and MaterializeTemporaryExpr will be used to convert prvalues into glvalues for that binding to happen. For example, given const int& r = 1.0; The initializer of "r" will be a MaterializeTemporaryExpr whose subexpression is an implicit conversion from the double literal "1.0" to an integer value. IR generation benefits most from this new node, since it was previously guessing (badly) when to materialize temporaries for the purposes of reference binding. There are likely more refactoring and cleanups we could perform there, but the introduction of MaterializeTemporaryExpr fixes PR9565, a case where IR generation would effectively bind a const reference directly to a bitfield in a struct. Addresses <rdar://problem/9552231>. llvm-svn: 133521
-
Jay Foad authored
use the deprecated forms of llvm::StringMap::GetOrCreateValue(). llvm-svn: 133515
-
Joerg Sonnenberger authored
llvm-svn: 133511
-
NAKAMURA Takumi authored
llvm-svn: 133501
-
Nick Lewycky authored
llvm-svn: 133492
-
Nick Lewycky authored
llvm-svn: 133491
-
Daniel Dunbar authored
the architecture being bound. - Fixes things like -Xarch_armv7. llvm-svn: 133490
-
Nick Lewycky authored
an assembly file it worked correctly, while for a .c file it would given an error about how --noexecstack is not a supported argument to -Wa. llvm-svn: 133489
-
Eric Christopher authored
Fixes rdar://9425559 llvm-svn: 133486
-
Eric Christopher authored
register aliases. Fixes unnecessary renames of clobbers. Fixes part of rdar://9425559 llvm-svn: 133485
-
-
- Jun 20, 2011
-
-
Jordy Rose authored
llvm-svn: 133472
-
Fariborz Jahanian authored
message sent to an objc method (or property access) // rdar://9474349 llvm-svn: 133469
-
Argyrios Kyrtzidis authored
[arcmt] Find out whether there is an ARC runtime directly from the triple, avoid hacky delegation to the driver for that. llvm-svn: 133464
-
-
Fariborz Jahanian authored
(or follow up) extern declaration with weak_import as an actual definition. make clang follows this behavior. // rdar://9538608 llvm-gcc treats an extern declaration with weak_import llvm-svn: 133450
-
Douglas Gregor authored
llvm-svn: 133438
-
Douglas Gregor authored
llvm-svn: 133437
-
Jay Foad authored
Change PHINodes to store simple pointers to their incoming basic blocks, instead of full-blown Uses. Note that this loses an optimization in SplitCriticalEdge(), because we can no longer walk the use list of a BasicBlock to find phi nodes. See the comment I removed starting "However, the foreach loop is slow for blocks with lots of predecessors". Extend replaceAllUsesWith() on a BasicBlock to also update any phi nodes in the block's successors. This mimics what would have happened when PHINodes were proper Users of their incoming blocks. (Note that this only works if OldBB->replaceAllUsesWith(NewBB) is called when OldBB still has a terminator instruction, so it still has some successors.) llvm-svn: 133435
-
Chandler Carruth authored
types printed in various diagnostics. We could omit checking for the types, but that can mask errors where the wrong type is streamed into the diagnostic. There was at least one of these caught by this test already. llvm-svn: 133429
-
Chandler Carruth authored
pointers I found while working on the NULL arithmetic warning. We here always assuming the LHS was the pointer, instead of using the selected pointer expression. llvm-svn: 133428
-
Chandler Carruth authored
llvm-svn: 133426
-
Chandler Carruth authored
effectively that this abstraction simply doesn't exist. That is highlighted by the fact that by using it we were papering over a more serious error in this warning: the fact that we warned for *invalid* constructs involving member pointers and block pointers. I've fixed the obvious issues with the warning here, but this is confirming an original suspicion that this warning's implementation is flawed. I'm looking into how we can implement this more reasonably. WIP on that front. llvm-svn: 133425
-
Francois Pichet authored
llvm-svn: 133418
-
Francois Pichet authored
llvm-svn: 133417
-
Chris Lattner authored
ConvertType on InitListExprs as they are being converted. This is needed for a forthcoming patch, and improves the IR generated anyway (see additional type names in testcases). This patch also converts a bunch of std::vector's in CGObjCMac to use C arrays. There are a ton more that should be converted as well. llvm-svn: 133413
-
Jordy Rose authored
llvm-svn: 133410
-
Jordy Rose authored
[analyzer] Re-enable checking for strncpy, along with a new validation of the size argument. strncat is not yet up-to-date, but I'm leaving it enabled for now (there shouldn't be any false positives, at least...) llvm-svn: 133408
-
Jordy Rose authored
[analyzer] Eliminate "byte string function" from CStringChecker's diagnostics, and make it easier to provide custom messages for overflow checking, in preparation for re-enabling strncpy checking. llvm-svn: 133406
-
Chandler Carruth authored
This makes 'isPointerLikeType' a little less confusing, and pulls the decay check into a separate interface that is much more clear and concrete. Also, just implement these as logical wrappers around other predicates. Having a switch based implementation isn't likely to be necessary. We can try to optimize them later if they show up on a profile. llvm-svn: 133405
-
- Jun 19, 2011
-
-
John McCall authored
llvm-svn: 133387
-
John McCall authored
llvm-svn: 133386
-
John McCall authored
llvm-svn: 133385
-
Chandler Carruth authored
false positives, including those in the GCC test suite, and don't warn about them. Let me know if this causes fallout, we can turn it back off if needed. llvm-svn: 133384
-