- Jan 11, 2011
-
-
Rafael Espindola authored
think it is safe to mark all type infos with unnamed_addr, but I am not sure. llvm-svn: 123275
-
Rafael Espindola authored
llvm-svn: 123272
-
Argyrios Kyrtzidis authored
[analyzer] Introduce ObjCSelfInitChecker, which checks initialization methods to verify that they assign 'self' to the result of an initialization call (e.g. [super init], or [self initWith..]) before using any instance variable or returning 'self'. llvm-svn: 123264
-
Argyrios Kyrtzidis authored
llvm-svn: 123263
-
Argyrios Kyrtzidis authored
the prefix should be ignored. E.g. if ignorePrefix is true, "_init" and "init" selectors will both be result in InitRule, but if ignorePrefix is false, only "init" will return InitRule. llvm-svn: 123262
-
Argyrios Kyrtzidis authored
[analyzer] Add 'isLoad' parameter in Checker::visitLocation() to conveniently distinguish between loads/stores. llvm-svn: 123261
-
Douglas Gregor authored
number of explicit call arguments. This actually fixes an erroneous test for [temp.deduct.partial]p11, where we were considering parameters corresponding to arguments beyond those that were explicitly provided. llvm-svn: 123244
-
Bob Wilson authored
Clang does not wrap the vectors in structs anymore so this isn't needed. llvm-svn: 123241
-
Ted Kremenek authored
llvm-svn: 123240
-
Abramo Bagnara authored
llvm-svn: 123236
-
Francois Pichet authored
In Microsoft mode, force 64 bit hex integer constants to signed type if the LL or i64 suffix is used. This MSVC behavior. For example: void f(long long){ printf("long long"); } void f(unsigned long long) { printf("unsigned long long"); } int main() { f(0xffffffffffffffffLL); } Will print "long long" using MSVC. This patch also fixes 16 compile errors related to overloading issues when parsing the MSVC 2008 C++ standard lib. llvm-svn: 123231
-
Francois Pichet authored
i64 is like LL i32 is like L Also set isMicrosoftInteger to true only if the suffix is well formed. llvm-svn: 123230
-
Francois Pichet authored
llvm-svn: 123228
-
Ted Kremenek authored
to use a node builder. This paves the way for Checkers to interpose (via a "visit" method) at the entrance to blocks. llvm-svn: 123217
-
Ted Kremenek authored
that just forwarded to ento::SubEngine. llvm-svn: 123216
-
Douglas Gregor authored
complete. However, if it returns a reference type, don't require the type it refers to to be complete. Fixes <rdar://problem/8807070>. llvm-svn: 123214
-
Douglas Gregor authored
parameters it expanded to, map exactly the number of function parameters that were expanded rather than just running to the end of the instantiated parameter list. This finishes the implementation of the last sentence of C++0x [temp.deduct.call]p1. llvm-svn: 123213
-
Ted Kremenek authored
with lowercase letter. llvm-svn: 123212
-
Ted Kremenek authored
with a lower-case letter. No functionality change. llvm-svn: 123211
-
Douglas Gregor authored
sentence of [temp.deduct.call]p1, both of which concern the non-deducibility of parameter packs not at the end of a parameter-type-list. The latter isn't fully implemented yet; see the new FIXME. llvm-svn: 123210
-
Michael J. Spencer authored
llvm-svn: 123208
-
Douglas Gregor authored
appropritely when there are no other template arguments. llvm-svn: 123204
-
Douglas Gregor authored
llvm-svn: 123201
-
Devang Patel authored
llvm-svn: 123199
-
Rafael Espindola authored
llvm-svn: 123197
-
Bob Wilson authored
llvm-svn: 123195
-
- Jan 10, 2011
-
-
Rafael Espindola authored
static const char foo[] = "foo"; static const char *bar = "bar"; the global created to hold "bar" will have it, but foo will not. llvm-svn: 123192
-
Douglas Gregor authored
pack expansions in template argument lists and function parameter lists. The implementation of this paragraph should be complete *except* for cases where we're substituting into one of the unexpanded packs in a pack expansion; that's a general issue I haven't solved yet. llvm-svn: 123188
-
Bob Wilson authored
llvm-svn: 123184
-
Douglas Gregor authored
argument packs from a set of deduced arguments, then checks that those argument packs match previously-deduced argument packs. llvm-svn: 123182
-
Douglas Gregor authored
template argument packs. This also ensures that explicitly-specified template arguments get properly represented in those cases. llvm-svn: 123180
-
Zhongxing Xu authored
llvm-svn: 123167
-
Zhongxing Xu authored
llvm-svn: 123166
-
Douglas Gregor authored
allows an argument pack determines via explicit specification of function template arguments to be extended by further, deduced arguments. For example: template<class ... Types> void f(Types ... values); void g() { f<int*, float*>(0, 0, 0); // Types is deduced to the sequence int*, float*, int } There are a number of FIXMEs in here that indicate places where we need to implement + test retained expansions, plus a number of other places in deduction where we need to correctly cope with the explicitly-specified arguments when deducing an argument pack. Furthermore, it appears that the RecursiveASTVisitor needs to be auditied; it's missing some traversals (especially w.r.t. template arguments) that cause it not to find unexpanded parameter packs when it should. The good news, however, is that the tr1::tuple implementation now works fully, and the tr1::bind example (both from N2080) is actually working now. llvm-svn: 123163
-
Douglas Gregor authored
llvm-svn: 123162
-
Zhongxing Xu authored
llvm-svn: 123160
-
Zhongxing Xu authored
llvm-svn: 123158
-
Zhongxing Xu authored
are all prefixes. llvm-svn: 123156
-
Michael J. Spencer authored
llvm-svn: 123150
-
- Jan 09, 2011
-
-
Francois Pichet authored
llvm-svn: 123134
-