summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Use static_cast<> instead of cast<> in Decl::Destroy(). Suggestion by ArgirisSam Bishop2008-04-131-2/+5
| | | | | | Kirtzidis! llvm-svn: 49603
* Default argument cleanups and minor improvements, patch byChris Lattner2008-04-127-64/+70
| | | | | | Doug Gregor! llvm-svn: 49598
* final cleanup, the code is now in a reviewable state.Chris Lattner2008-04-121-1/+6
| | | | llvm-svn: 49592
* move the DeltaTree implementation out of line, remove debugging printfs etc.Chris Lattner2008-04-123-379/+429
| | | | llvm-svn: 49591
* remove ifdefsChris Lattner2008-04-122-87/+8
| | | | llvm-svn: 49587
* Do an initial hack at replacing one of the incredibly inefficient Chris Lattner2008-04-124-18/+440
| | | | | | | | | | | | | | | (but simple!) datastructures in the rewriter with a more complex but more efficient one. This replaces the Deltas vector with a specialized BTree that makes delta lookups much more efficient. This speeds up -emit-html on a 500K .i file from 157.154 to 27.127 seconds on my machine (5.8x). While this code is functional, it isn't very pretty, I have much refactoring planned for it, and will remove the USE_VECTOR ifdef. Stay tuned. llvm-svn: 49586
* Use std::list's push_back instead of resize to add an element.Argyrios Kyrtzidis2008-04-121-2/+2
| | | | llvm-svn: 49582
* don't diagnose empty source files, thanks Neil!Chris Lattner2008-04-121-2/+3
| | | | llvm-svn: 49575
* Fixed comments.Argyrios Kyrtzidis2008-04-122-32/+34
| | | | | | | Moved IdDeclInfo class to anonymous namespace. Replaced array with a std::vector. llvm-svn: 49570
* Added PushOnScopeChains method to Sema, that adds a decl to both the ↵Argyrios Kyrtzidis2008-04-123-30/+24
| | | | | | IdResolver and the Scope. llvm-svn: 49567
* AST generation for objc2's property declarations.Fariborz Jahanian2008-04-117-65/+55
| | | | llvm-svn: 49565
* Add some boilerplate to report memory leaks at the end of an analyzed function.Ted Kremenek2008-04-111-1/+29
| | | | | | | Still need some boilerplate in BugReporter to report bugs at the end of a function (not associated with a particular statement). llvm-svn: 49564
* Added "EvalEndPath" to GRTransferFuncs: the default implementation does notTed Kremenek2008-04-112-1/+8
| | | | | | | change the state (and thus the GREndPathNodeBuilder automatically contructs a node). llvm-svn: 49563
* Added "GREndPathNodeBuilder", a new node builder that will be used forTed Kremenek2008-04-114-15/+102
| | | | | | evaluating transfer functions at the end-of-path. llvm-svn: 49561
* Added FIXMETed Kremenek2008-04-111-2/+8
| | | | llvm-svn: 49558
* Fix regression introduced by my last commit.Ted Kremenek2008-04-111-51/+29
| | | | llvm-svn: 49556
* Changed behavior of how we handle "NULL" summaries: just callTed Kremenek2008-04-112-9/+46
| | | | | | | | | | | | | GRSimpleVals::EvalCal(), and don't change reference counts. Remove "getDoNothingSummary()", as a NULL summary does the same thing. Added temporary hack for the "Get" rule for objects that return a pointer type: treat them as non-owned CF objects. Added test case to detect the release of a non-owned object. llvm-svn: 49555
* Add class and super class location info to ObjCInterfaceDecl...Steve Naroff2008-04-114-9/+22
| | | | llvm-svn: 49553
* Use RangedBugReport to report better ranges for reference count errors.Ted Kremenek2008-04-111-11/+20
| | | | llvm-svn: 49552
* Added "RangedBugReport".Ted Kremenek2008-04-112-0/+24
| | | | llvm-svn: 49551
* Update Xcode project with missing files.Ted Kremenek2008-04-111-0/+6
| | | | llvm-svn: 49550
* Invoke destructors in Decl::Destroy().Sam Bishop2008-04-114-6/+42
| | | | llvm-svn: 49547
* Minor changes per Chris L's review.Fariborz Jahanian2008-04-114-15/+13
| | | | llvm-svn: 49539
* don't read off the front of the buffer. Thanks to Sam for pointing this out.Chris Lattner2008-04-111-1/+1
| | | | llvm-svn: 49535
* Stub out and start using a Decl::Destroy() method.Sam Bishop2008-04-113-1/+8
| | | | llvm-svn: 49532
* Use the ASTContext allocator when creating deserialized Decl objects.Sam Bishop2008-04-111-15/+25
| | | | llvm-svn: 49530
* two new files for previous patch, by Argiris KirtzidisChris Lattner2008-04-112-0/+287
| | | | llvm-svn: 49521
* Switch sema to maintaining its own scope chain information for variableChris Lattner2008-04-114-57/+29
| | | | | | | shadowing, instead of threading it through the AST. This patch contributed by Argiris Kirtzidis! llvm-svn: 49520
* Fix rdar://5843510 don't assert and die when an invalid outputChris Lattner2008-04-111-4/+12
| | | | | | file is specified, print a happy little error message. llvm-svn: 49518
* Fixed some logic errors in the CF ref count checker; we now can detect simpleTed Kremenek2008-04-103-22/+59
| | | | | | use-after-release errors. Added test case. llvm-svn: 49509
* Patch for:Fariborz Jahanian2008-04-105-37/+82
| | | | | | | | 1) objc ivar processing is split out of ActOnField into its own ActOnIvar method. 2) the new objc ivar action takes visibility info directly, eliminating AllVisibilities in ParseObjCClassInstanceVariables. llvm-svn: 49506
* Simplify CF ref. count checker state machine.Ted Kremenek2008-04-101-31/+36
| | | | llvm-svn: 49505
* Fix some bonehead bugs in summary generation in CFRefCount.Ted Kremenek2008-04-103-28/+34
| | | | llvm-svn: 49503
* Used --checker-simple.Ted Kremenek2008-04-101-1/+1
| | | | llvm-svn: 49501
* Refactored all logic to run the GRSimpleVals and CFRef checker into a commonTed Kremenek2008-04-1010-152/+131
| | | | | | | | code path in the clang driver. Renamed options --grsimple to -checker-simple and -check-cfref to -checker-cfref. llvm-svn: 49500
* reduce the amount of 'C++ magic' this code depends on :)Chris Lattner2008-04-102-3/+3
| | | | llvm-svn: 49489
* CFRefCount analysis now properly calls "EmitWarnings" after analyzing a ↵Ted Kremenek2008-04-101-4/+1
| | | | | | function. llvm-svn: 49488
* When not emitting path diagnostics in BugReporter::EmitWarning(), use theTed Kremenek2008-04-102-4/+14
| | | | | | BugReport-specific SourceRanges (when available). llvm-svn: 49486
* Fixed regressions in error reporting due to copy-paste errors (using the "begin"Ted Kremenek2008-04-103-5/+15
| | | | | | | iterator instead of "end") and not implementing "getDescription()" for Nil argument checks. llvm-svn: 49485
* refactor Parser::ParseStructDeclaration to return a vector of uninterpreted Chris Lattner2008-04-104-33/+80
| | | | | | | | | | | | | | declarators. This allows the clients (C structs, objc classes, objc properties, [future] C++ classes) etc, to do custom processing before invoking an action. This has two benefits in the short term: 1) objc ivar processing should be split out of ActOnField into its own ActOn method. 2) the new objc ivar action can take visibility info directly, eliminating AllVisibilities in ParseObjCClassInstanceVariables. 3) objc properties can pass their own special sauce down to sema as well. llvm-svn: 49468
* Simplify lifetime of location object.Chris Lattner2008-04-101-6/+6
| | | | llvm-svn: 49467
* Fix typo.Eric Christopher2008-04-101-1/+1
| | | | llvm-svn: 49464
* typedef void T;Chris Lattner2008-04-103-5/+7
| | | | | | | | void f(T); is only invalid in C++ mode, not C89 mode. llvm-svn: 49460
* Several improvements from Doug Gregor related to defaultChris Lattner2008-04-1015-28/+145
| | | | | | argument handling. I'll fix up the c89 (void) thing next. llvm-svn: 49459
* Hooked up initial reference-count checks to the BugReporter interface.Ted Kremenek2008-04-091-31/+86
| | | | llvm-svn: 49455
* Major refactoring/cleanup of GRExprEngine, ExplodedGraph, and BugReporter.Ted Kremenek2008-04-0912-319/+474
| | | | | | | | | | | | | | | Bugs are now reported using a combination of "BugType" (previously BugDescription) and Bug "BugReport" objects, which are fed to BugReporter (which generates PathDiagnostics). This provides a far more modular way of registering bug types and plugging in diagnostics. GRExprEngine now owns its copy of GRCoreEngine, and is not owned by the ExplodedGraph. ExplodedGraph is no longer templated on the "checker", but instead on the state contained in the nodes. llvm-svn: 49453
* The dtor CGObjCRuntime::~CGObjCRuntime() was implemented twice, onceTed Kremenek2008-04-093-7/+2
| | | | | | | in CGObjCGNU.cpp and once in CGObjCEtoile.cpp. Moved its definition to CGObjC.cpp. This resolves a build error in Xcode, and also cleans things up. llvm-svn: 49429
* Add SemaDeclCXX.cpp to Xcode project.Ted Kremenek2008-04-091-0/+4
| | | | llvm-svn: 49428
* Micro-optimization: Don't use ostringstream when using a C-string literalTed Kremenek2008-04-091-40/+28
| | | | | | will work just fine. llvm-svn: 49427
* Added some boilerplate for emitting warnings from the CF-reference count ↵Ted Kremenek2008-04-091-15/+64
| | | | | | checker. llvm-svn: 49414
OpenPOWER on IntegriCloud