- Jul 04, 2010
-
-
Jordy Rose authored
Add a new symbol type, SymbolExtent, to represent the extents of memory regions that may not be known at compile-time (such as those created by malloc). This replaces the old setExtent/getExtent API on Store, which used the GRState's GDM to store SVals. Also adds a getKnownValue() method to SValuator, which gets the integer value of an SVal if it is known to only have one possible value. There are more places in the code that could be using this, but in general we want to be dealing entirely in SVals, so its usefulness is limited. The only visible functionality change is that extents are now honored for any DeclRegion, such as fields and Objective-C ivars, rather than just variables. This shows up in bounds-checking and cast-size-checking. llvm-svn: 107577
-
- Jul 03, 2010
-
-
Benjamin Kramer authored
llvm-svn: 107574
-
John McCall authored
llvm-svn: 107573
-
Charles Davis authored
ObjC pointers were easy enough (as far as the ABI is concerned, they're just pointers to structs), but I had to invent a new mangling for block pointers. This is particularly worrying with the Microsoft ABI, because it is a vendor-specific ABI; extending it could come back to bite us later when MS extends it on their own (and you know they will). llvm-svn: 107572
-
John McCall authored
point. llvm-svn: 107570
-
Charles Davis authored
llvm-svn: 107568
-
Charles Davis authored
llvm-svn: 107567
-
Argyrios Kyrtzidis authored
the invariant checks at NamespaceDecl::setAnonymousNamespace(). llvm-svn: 107566
-
Charles Davis authored
llvm-svn: 107564
-
Shantonu Sen authored
extension if you otherwise configure scan-build to do c++ static analysis. OKed by Ted llvm-svn: 107562
-
Charles Davis authored
Only actual functions get mangled correctly; I don't know how to fix it for function pointers yet. Thanks to John McCall for the hint. Also, mangle anonymous tag types. I don't have a suitable testcase yet; I have a feeling that that's going to need support for static locals, and I haven't figured out exactly how MSVC's scheme for mangling those works. llvm-svn: 107561
-
Douglas Gregor authored
declarations for implicit default constructors, copy constructors, copy assignment operators, and destructors. On a "simple" translation unit that includes a bunch of C++ standard library headers, we generate relatively few of these implicit declarations now: 4/159 implicit default constructors created 18/236 implicit copy constructors created 70/241 implicit copy assignment operators created 0/173 implicit destructors created And, on this translation unit, this optimization doesn't really provide any benefit. I'll do some more performance measurements soon, but this completes the implementation work for <rdar://problem/8151045>. llvm-svn: 107551
-
Douglas Gregor authored
llvm-svn: 107543
-
Argyrios Kyrtzidis authored
llvm-svn: 107542
-
Argyrios Kyrtzidis authored
llvm-svn: 107541
-
Douglas Gregor authored
constructor-name lookup. llvm-svn: 107536
-
- Jul 02, 2010
-
-
Douglas Gregor authored
llvm-svn: 107521
-
Zhanyong Wan authored
prototype declaration. Reviewed by chandlerc and csilvers. llvm-svn: 107511
-
Douglas Gregor authored
llvm-svn: 107510
-
Craig Silverstein authored
like). Our goal with this visitor is to visit exactly what people type. Reviewed by chandlerc. llvm-svn: 107497
-
Douglas Gregor authored
allows Sema some limited access to the current scope, which we only use in one way: when Sema is performing some kind of declaration that is not directly driven by the parser (e.g., due to template instantiatio or lazy declaration of a member), we can find the Scope associated with a DeclContext, if that DeclContext is still in the process of being parsed. Use this to make the implicit declaration of special member functions in a C++ class more "scope-less", rather than using the NULL Scope hack. llvm-svn: 107491
-
Douglas Gregor authored
llvm-svn: 107485
-
Argyrios Kyrtzidis authored
<vector> header can be used correctly through PCH now. llvm-svn: 107483
-
Argyrios Kyrtzidis authored
llvm-svn: 107479
-
Argyrios Kyrtzidis authored
llvm-svn: 107478
-
Argyrios Kyrtzidis authored
llvm-svn: 107477
-
Argyrios Kyrtzidis authored
Fix reading ClassTemplateDecl's ClassTemplateSpecializationDecls and ClassTemplatePartialSpecializationDecls. Store/read also their template arguments because they may be initializing and not be able to provide them. llvm-svn: 107476
-
Argyrios Kyrtzidis authored
llvm-svn: 107475
-
Argyrios Kyrtzidis authored
llvm-svn: 107474
-
Argyrios Kyrtzidis authored
llvm-svn: 107473
-
Argyrios Kyrtzidis authored
llvm-svn: 107472
-
Argyrios Kyrtzidis authored
- Fix creation of TemplateSpecializationType. llvm-svn: 107471
-
Argyrios Kyrtzidis authored
llvm-svn: 107470
-
Argyrios Kyrtzidis authored
Generally types expect an initialized TypeDecl; its safer and less complicated to delay PCH reading the type of a TypeDecl. llvm-svn: 107469
-
Argyrios Kyrtzidis authored
llvm-svn: 107468
-
Zhongxing Xu authored
llvm-svn: 107467
-
Zhongxing Xu authored
llvm-svn: 107463
-
Zhongxing Xu authored
llvm-svn: 107462
-
Zhongxing Xu authored
Change CallGraph::Prog to be a reference. idx::Program means to be a global object to the Index library. llvm-svn: 107461
-
Craig Silverstein authored
typedef int (*Myfunc)(int); Myfunc func; Reviewed by chandlerc llvm-svn: 107450
-