- Jan 25, 2010
-
-
Ted Kremenek authored
(1) libAnalysis is a generic analysis library that can be used by Sema. It defines the CFG, basic dataflow analysis primitives, and inexpensive flow-sensitive analyses (e.g. LiveVariables). (2) libChecker contains the guts of the static analyzer, incuding the path-sensitive analysis engine and domain-specific checks. Now any clients that want to use the frontend to build their own tools don't need to link in the entire static analyzer. This change exposes various obvious cleanups that can be made to the layout of files and headers in libChecker. More changes pending. :) This change also exposed a layering violation between AnalysisContext and MemRegion. BlockInvocationContext shouldn't explicitly know about BlockDataRegions. For now I've removed the BlockDataRegion* from BlockInvocationContext (removing context-sensitivity; although this wasn't used yet). We need to have a better way to extend BlockInvocationContext (and any LocationContext) to add context-sensitivty. llvm-svn: 94406
-
-
Chris Lattner authored
llvm-svn: 94401
-
Daniel Dunbar authored
line -- they may be remapped (fake) files. This is useful for testing parsing entirely from memory. llvm-svn: 94395
-
- Jan 24, 2010
-
-
Chris Lattner authored
llvm-svn: 94379
-
Anders Carlsson authored
llvm-svn: 94365
-
Anders Carlsson authored
llvm-svn: 94361
-
Alexis Hunt authored
Mangle static variables with an extra name to distinguish them from non-static variables in the same TU. Fixes PR5966 for real this time; also reverts r92911, which had a incorrect fix. llvm-svn: 94352
-
Chris Lattner authored
unbalanced. llvm-svn: 94347
-
Anders Carlsson authored
llvm-svn: 94341
-
Anders Carlsson authored
Use new initialization code when dealing with [dcl.init.aggr]p12. This fixes the bug where array elements and member initializers weren't copied correctly. llvm-svn: 94340
-
Anders Carlsson authored
llvm-svn: 94335
-
- Jan 23, 2010
-
-
Anders Carlsson authored
llvm-svn: 94334
-
John McCall authored
llvm-svn: 94333
-
Anders Carlsson authored
llvm-svn: 94332
-
Anders Carlsson authored
llvm-svn: 94329
-
Anders Carlsson authored
llvm-svn: 94327
-
Anders Carlsson authored
Baby steps towards migrating the InitListChecker over to the new initialization code. Pass an InitializedEntity pointer through to most init checker functions. Right now, it's ignored everywhere except when initializing vectors in C++. llvm-svn: 94325
-
Anders Carlsson authored
When an InitializedEntity is passed to CheckSingleInitializer, call the new Sema::PerformCopyInitialization overload. llvm-svn: 94324
-
Eli Friedman authored
function. llvm-svn: 94320
-
Anders Carlsson authored
llvm-svn: 94316
-
Benjamin Kramer authored
llvm-svn: 94314
-
Benjamin Kramer authored
llvm-svn: 94313
-
John McCall authored
incomplete type (or a pointer/reference to such). The causes of this problem are different enough to justify a different "design" for the diagnostic. Most notably, it doesn't give an operand index: it's usually pretty obvious which operand is the problem, it adds a lot of clutter to mention it, and the fix is usually in a different part of the file anyway. This is yet another diagnostic that should really have an analogue in the non-overloaded case --- which should be much easier to write because of the weaker space constraints. llvm-svn: 94303
-
Anders Carlsson authored
Fix the EntityKind order so that all entity kinds that can be copied (using copy constructors) come first. Also, fix a bug where EK_New was left out of the err_init_conversion_failed diagnostic (It is now reported as 'new value'). Please review Doug :) llvm-svn: 94289
-
John McCall authored
conversions. To make this work, fill out all conversions for all candidates (but only when diagnosing overload failure). Split out a few cases from ovl_fail_bad_conversion which didn't actually involve a failed argument conversion. I'm pretty sure this is not a well-founded ordering, but I'm not sure it matters. llvm-svn: 94283
-
Anders Carlsson authored
Separate EK_ArrayOrVectorElement into EK_ArrayElement and EK_VectorElement; arrays and vectors are pretty different beasts in C++. Doug, please review/comment. llvm-svn: 94279
-
David Chisnall authored
Created __builtin___NSStringMakeConstantString() builtin, which generates constant Objective-C strings. llvm-svn: 94274
-
Ted Kremenek authored
llvm-svn: 94273
-
John McCall authored
llvm-svn: 94268
-
Douglas Gregor authored
translation units that include unsaved files. llvm-svn: 94258
-
Fariborz Jahanian authored
to mimic gcc's behavior. Fixes radar 7400691. llvm-svn: 94246
-
- Jan 22, 2010
-
-
Ted Kremenek authored
Add 'clang_getClangVersion()' function to CIndex. This exposes the full Clang version string through the CIndex API. llvm-svn: 94242
-
Ted Kremenek authored
Move version string generation (e.g., "clang 1.1 ...") to libBasic/Version.cpp, getClangFullVendorVersion(). llvm-svn: 94235
-
Ted Kremenek authored
have it return a StringRef instead of an integer (to be more VCS agnostic). (2) Add getClangFullRepositoryVersion(), which contains an amalgamation of the repository name and the revision. (3) Change PCH to only emit the string returned by getClangFullRepositoryVersion() instead of also emitting the value of getClangSubversionRevision() (which has been removed). This is functionally equivalent. More cleanup to version string generation pending... llvm-svn: 94231
-
Fariborz Jahanian authored
Fixes radar 7562363. llvm-svn: 94224
-
Ted Kremenek authored
llvm-svn: 94214
-
Ted Kremenek authored
llvm-svn: 94213
-
Mike Stump authored
not just among the direct bases. Before we where missing nearly empties that were bases of virtual base classes. llvm-svn: 94208
-
Douglas Gregor authored
region of interest (if provided). Implement clang_getCursor() in terms of this traversal rather than using the Index library; the unified cursor visitor is more complete, and will be The Way Forward. Minor other tweaks needed to make this work: - Extend Preprocessor::getLocForEndOfToken() to accept an offset from the end, making it easy to move to the last character in the token (rather than just past the end of the token). - In Lexer::MeasureTokenLength(), the length of whitespace is zero. llvm-svn: 94200
-