- Jan 15, 2011
-
-
Ted Kremenek authored
llvm-svn: 123511
-
-
Douglas Gregor authored
the TemplateName class. Nothing actually changes, but I find this less objectionable (and it will factor into an upcoming change). llvm-svn: 123508
-
Douglas Gregor authored
that captures the substitution of a non-type template argument pack for a non-type template parameter pack within a pack expansion that cannot be fully expanded. This follows the approach taken by SubstTemplateTypeParmPackType. llvm-svn: 123506
-
Douglas Gregor authored
number of expansions, when we know it, and propagate that information through Sema. llvm-svn: 123493
-
- Jan 14, 2011
-
-
Douglas Gregor authored
contain multiple parameter packs at different levels. llvm-svn: 123488
-
Ted Kremenek authored
Found by clang static analyzer. llvm-svn: 123485
-
Ted Kremenek authored
Remove this variable (found by clang static analyzer). llvm-svn: 123484
-
Ted Kremenek authored
used; nuke all assignments and its declaration. llvm-svn: 123483
-
Ted Kremenek authored
llvm-svn: 123482
-
Ted Kremenek authored
analyzer -cc1 options that are tailored to the input type. If the input type is "C++", we should only run the dead stores checker (for now). Similarly, checks specific to Objective-C should only run on Objective-C Code. llvm-svn: 123481
-
Owen Anderson authored
llvm-svn: 123478
-
Douglas Gregor authored
it will expand to, if known. Propagate this information throughout Sema. llvm-svn: 123470
-
Argyrios Kyrtzidis authored
Addresses rdar://8435969&8852495 llvm-svn: 123462
-
Ted Kremenek authored
llvm-svn: 123460
-
Ted Kremenek authored
llvm-svn: 123459
-
Ted Kremenek authored
the case where the called function has fewer formal arguments than actual arguments. This fixes a crash in the analyzer when doing function call inlining. Patch by Zhenbo Xu! llvm-svn: 123458
-
Douglas Gregor authored
expansion in it, we may end up instantiating to an empty expression-list. In this case, the variable is uninitialized; tweak the instantiation logic to handle this case. Fixes PR8977. llvm-svn: 123449
-
Douglas Gregor authored
expansion, when it is known due to the substitution of an out parameter pack. This allows us to properly handle substitution into pack expansions that involve multiple parameter packs at different template parameter levels, even when this substitution happens one level at a time (as with partial specializations of member class templates and the signatures of member function templates). Note that the diagnostic we provide when there is an arity mismatch between an outer parameter pack and an inner parameter pack in this case isn't as clear as the normal diagnostic for an arity mismatch. However, this doesn't matter because these cases are very, very rare and (even then) only typically occur in a SFINAE context. The other kinds of pack expansions (expression, template, etc.) still need to support optional tracking of the number of expansions, and we need the moral equivalent of SubstTemplateTypeParmPackType for substituted argument packs of template template and non-type template parameters. llvm-svn: 123448
-
John McCall authored
bit-pattern. Continue punting on zero-initializing VLAs with a nonzero pattern. llvm-svn: 123439
-
John McCall authored
replace all uses of the entry with the predecessor. There are no cleanups relying on this right now, but if we ever want a cleanup with a phi inside it, this will be important. llvm-svn: 123438
-
Chris Lattner authored
llvm-svn: 123430
-
Douglas Gregor authored
switch() statements. llvm-svn: 123429
-
Douglas Gregor authored
involve template parameter packs at multiple template levels that occur within the signatures members of class templates (and partial specializations thereof). This is a work-in-progress that is deficient in several ways, notably: - It only works for template type parameter packs, but we need to also support non-type template parameter packs and template template parameter packs. - It doesn't keep track of the lengths of the substituted argument packs in the expansion, so it can't properly diagnose length mismatches. However, this is a concrete step in the right direction. llvm-svn: 123425
-
Ken Dyck authored
llvm-svn: 123421
-
Francois Pichet authored
llvm-svn: 123412
-
- Jan 13, 2011
-
-
Fariborz Jahanian authored
for efficiancy (still part of //rdar://8761767). Per John's comment. llvm-svn: 123401
-
Ted Kremenek authored
llvm-svn: 123395
-
Ted Kremenek authored
dead stores within nested assignments. I have never seen an actual bug found by this specific warning, and it can lead to many false positives. llvm-svn: 123394
-
Fariborz Jahanian authored
assigns. // rdar://8761767 llvm-svn: 123391
-
Peter Collingbourne authored
process, perform a number of refactorings: - Move MiscNameMangler member functions to MangleContext - Remove GlobalDecl dependency from MangleContext - Make MangleContext abstract and move Itanium/Microsoft functionality to their own classes/files - Implement ASTContext::createMangleContext and have CodeGen use it No (intended) functionality change. llvm-svn: 123386
-
Douglas Gregor authored
when we're actually matching a template template argument to a template template parameter. Otherwise, use strict matching. Fixes <rdar://problem/8859985> clang++: variadics and out-of-line definitions. llvm-svn: 123385
-
Douglas Gregor authored
llvm-svn: 123382
-
Douglas Gregor authored
llvm-svn: 123379
-
Douglas Gregor authored
llvm-svn: 123378
-
Zhongxing Xu authored
getting the base region. This makes the RemoveDeadBindings() correct. llvm-svn: 123375
-
Zhongxing Xu authored
since the bindings are purged after they are set up. Need to investigate RemoveDeadBindings algorithm. llvm-svn: 123374
-
Zhongxing Xu authored
llvm-svn: 123370
-
Ted Kremenek authored
a struct value to a symbolic index into array. RegionStore can't actually reason about this, so we were getting bogus warnings about loading uninitialized values from the array. The solution is invalidate the entire array when we cannot represent the binding explicitly. Fixes <rdar://problem/8848957> llvm-svn: 123368
-
Ted Kremenek authored
and 'getBasePredecessor()' to 'getPredecessor()'. Also remove a unneeded save-and-restore of node builder's tag field. llvm-svn: 123363
-