- Apr 11, 2011
-
-
Eli Friedman authored
llvm-svn: 129260
-
- Apr 10, 2011
-
-
Anders Carlsson authored
represents a dynamic cast where we know that the result is always null. For example: struct A { virtual ~A(); }; struct B final : A { }; struct C { }; bool f(B* b) { return dynamic_cast<C*>(b); } llvm-svn: 129256
-
John McCall authored
and move a vector-splat check to follow l-value conversion. llvm-svn: 129254
-
Anders Carlsson authored
Strip off parens and no-op casts when deciding if an expr can be devirtualized. Fixes the second half of PR9660. llvm-svn: 129253
-
Anders Carlsson authored
llvm-svn: 129252
-
Anders Carlsson authored
llvm-svn: 129250
-
Chandler Carruth authored
rewriting the literal when the value is integral. It is not uncommon to see code written as: const int kBigNumber = 42e5; Without any real awareness that this is no longer an ICE. The note helps automate and ease the process of fixing code that violates the warning. llvm-svn: 129243
-
Francois Pichet authored
llvm-svn: 129242
-
Eli Friedman authored
While I'm here, FileCheck-ize the ext-vector test, so we actually check what it is generating. llvm-svn: 129241
-
Francois Pichet authored
of template class. The new value is ignored. This fixes 1 error when parsing MSVC 2010 header files with clang. llvm-svn: 129240
-
John McCall authored
for them. The only major missing feature is references. llvm-svn: 129234
-
- Apr 09, 2011
-
-
Eli Friedman authored
check is triggered appropriately. Reported on cfe-dev. llvm-svn: 129231
-
Lenny Maiorani authored
Validates inputs are not NULL, checks for overlapping strings, concatenates the strings checking for buffer overflow, sets the length of the destination string to the sum of the s1 length and the s2 length, binds the return value to the s1 value. llvm-svn: 129215
-
Dylan Noblesmith authored
Make KEYALL a combination of all other flags instead of its own separate flag. Also rewrite the enum definitions in hex instead of decimal. llvm-svn: 129213
-
Dylan Noblesmith authored
Put the logic for deciding the default name for gcc/g++ in the only place that actually cares about it. This also pushes an ifdef out of the generic driver code to a little further down, when the target is actually known. Hopefully it can be changed into just a runtime check in the future. llvm-svn: 129212
-
Eli Friedman authored
pageexec@freemail.hu, tweaks by me. llvm-svn: 129206
-
Chandler Carruth authored
warnings, and make its text appropriate for constant bool expressions other than 'false'. This should finish off PR9612. llvm-svn: 129205
-
Chandler Carruth authored
type rather than just the literal 'false'. This begins fixing PR9612, but the message is now wrong. WIP, the cleanup of the messaging is next. llvm-svn: 129204
-
Chris Lattner authored
llvm-svn: 129202
-
Chris Lattner authored
per PR9577 llvm-svn: 129201
-
Chris Lattner authored
Patch by Dave Zarzycki! llvm-svn: 129189
-
Ken Dyck authored
to eliminate a divide-by-8. No change in functionality intended. llvm-svn: 129180
-
Ken Dyck authored
the base offset. No change in functionality intended. llvm-svn: 129179
-
Nick Lewycky authored
llvm-svn: 129176
-
Eric Christopher authored
Nom Nom Nom. Patch by Anton Korobeynikov! llvm-svn: 129174
-
Fariborz Jahanian authored
a block. First part of // rdar://9254348 llvm-svn: 129171
-
Ted Kremenek authored
Start overhauling static analyzer support for C++ constructors. The inlining support isn't complete, and needs to be reworked to model CallEnter/CallExit (just like all other calls). For now, treat constructors mostly like other function calls, making the analysis of C++ code just a little more useful. llvm-svn: 129166
-
- Apr 08, 2011
-
-
Devang Patel authored
Do not use zero as an upper bound for unbounded array because upper bound zero also indicates one element array. llvm-svn: 129157
-
Evan Cheng authored
llvm-svn: 129153
-
-
John Wiegley authored
This patch authored by Eric Niebler. Many methods on the Sema class (e.g. ConvertPropertyForRValue) take Expr pointers as in/out parameters (Expr *&). This is especially true for the routines that apply implicit conversions to nodes in-place. This design is workable only as long as those conversions cannot fail. If they are allowed to fail, they need a way to report their failures. The typical way of doing this in clang is to use an ExprResult, which has an extra bit to signal a valid/invalid state. Returning ExprResult is de riguour elsewhere in the Sema interface. We suggest changing the Expr *& parameters in the Sema interface to ExprResult &. This increases interface consistency and maintainability. This interface change is important for work supporting MS-style C++ properties. For reasons explained here <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-February/013180.html>, seemingly trivial operations like rvalue/lvalue conversions that formerly could not fail now can. (The reason is that given the semantics of the feature, getter/setter method lookup cannot happen until the point of use, at which point it may be found that the method does not exist, or it may have the wrong type, or overload resolution may fail, or it may be inaccessible.) llvm-svn: 129143
-
Fariborz Jahanian authored
implement lhs's protocols. // rdar://9091389. llvm-svn: 129142
-
Chris Lattner authored
llvm-svn: 129141
-
- Apr 07, 2011
-
-
Daniel Dunbar authored
llvm-svn: 129108
-
Daniel Dunbar authored
llvm-svn: 129103
-
Ted Kremenek authored
llvm-svn: 129102
-
Daniel Dunbar authored
llvm-svn: 129095
-
Daniel Dunbar authored
outputting dwarf-debug-flags. llvm-svn: 129094
-
Daniel Dunbar authored
output missing data. llvm-svn: 129093
-
Daniel Dunbar authored
llvm-svn: 129091
-