]>
granicus.if.org Git - clang/log
Sam Bishop [Thu, 3 Apr 2008 14:20:28 +0000 (14:20 +0000)]
trivial whitespace fix
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49160
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 07:33:55 +0000 (07:33 +0000)]
Handle the case when getEndPath() returns NULL.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49155
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 07:14:59 +0000 (07:14 +0000)]
Don't run the analyzer on files whose language is "unknown"
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49152
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 07:13:10 +0000 (07:13 +0000)]
Added guard for printing out PathDiagnostics whose last element ends with
a piece with a SourceLocation that does not have a FileID.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49151
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 07:12:29 +0000 (07:12 +0000)]
Some cleanups in EscapeText and AddLineNumbers. Still investigating performance
issues.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49150
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 07:11:44 +0000 (07:11 +0000)]
Remove impossible "-?" option.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49149
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 07:11:38 +0000 (07:11 +0000)]
Added "isFileID()" to FullSourceLoc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49148
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 05:50:51 +0000 (05:50 +0000)]
CSS/HTML generation tweaks for index.html: Remove special "classes" for <td>
elements in table so that sorttable can sort them.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49145
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Apr 2008 05:50:42 +0000 (05:50 +0000)]
Fix PR2081 (problems codegen'ing some recursive structures) patch
by Lauro Venancio!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49144
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sam Bishop [Thu, 3 Apr 2008 05:35:20 +0000 (05:35 +0000)]
Created a destructor so that the top-level decls can be deleted.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49142
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sam Bishop [Thu, 3 Apr 2008 05:29:20 +0000 (05:29 +0000)]
Temporarily make the Decl virtual destructor public, so that calls to "delete"
can be tested on derived classes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49141
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 05:23:19 +0000 (05:23 +0000)]
Add back bug name to PathDiagnostic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49139
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Apr 2008 05:07:25 +0000 (05:07 +0000)]
Fix a bug where we didn't check the RHS for null, we checked
the LHS for null twice.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49138
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Apr 2008 05:07:04 +0000 (05:07 +0000)]
qualifier comparisons should be done on canonical types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49137
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sam Bishop [Thu, 3 Apr 2008 05:03:34 +0000 (05:03 +0000)]
Call delete on the deserialized TranslationUnit object.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49136
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sam Bishop [Thu, 3 Apr 2008 05:01:04 +0000 (05:01 +0000)]
Call "delete" on the body of FunctionDecls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49135
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 04:59:14 +0000 (04:59 +0000)]
When creating PathDiagnostics, created a trimmed graph first and report the
BFS path to the root. This also avoids problems with loops in the ExplodedGraph.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49133
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 04:58:29 +0000 (04:58 +0000)]
Added node_iterator to ExplodedGraph to allow iteration over all nodes in
the graph.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49132
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 04:43:40 +0000 (04:43 +0000)]
Updated Xcode project to include BugReporter.[cpp,h].
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49128
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 04:42:52 +0000 (04:42 +0000)]
Created new path-sensitive bug-reporting scheme based on the classes
"BugReporter" and "BugDescription". BugDescription is used to describe
a bug and provide pieces of the PathDiagnostic, and BugReporter creates
the actual PathDiagnostic by crawling through the ExplodedGraph.
Migrated checks done by GRSimpleVals to be reported using the new BugReporter
mechanism.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49127
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 04:38:39 +0000 (04:38 +0000)]
Added missing #ifndef...#define...#endif directives to protect against
double includes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49126
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 22:50:50 +0000 (22:50 +0000)]
CSS tweaking on blue boxes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49121
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 22:08:09 +0000 (22:08 +0000)]
80 col violation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49120
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 22:03:53 +0000 (22:03 +0000)]
Added more PathDiagnostic rendering for terminators: switch, goto, loops.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49119
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 21:14:04 +0000 (21:14 +0000)]
Blue diagnostic boxes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49117
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 21:04:20 +0000 (21:04 +0000)]
Added path sequence numbers in HTML output of PathDiagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49116
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 20:44:27 +0000 (20:44 +0000)]
Fix initialization bug.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49115
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 20:44:16 +0000 (20:44 +0000)]
Embed BUGLINE, BUGFILE, BUGPATHLENGTH in the emitted HTML file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49114
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 20:43:36 +0000 (20:43 +0000)]
Made bug index tables sortable.
Added line number, file information, path length, for each bug report.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49113
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 20:35:01 +0000 (20:35 +0000)]
Added "back()" method to PathDiagnostic to access the last piece in a path.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49112
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 18:42:49 +0000 (18:42 +0000)]
Initial work on CSS in generated index.html.
Added "-V/--view" option to view index.html after it has been generated.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49108
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 2 Apr 2008 18:30:49 +0000 (18:30 +0000)]
Change ObjCInterfaceDecl to inherit from NamedDecl (not TypeDecl). While ObjCInterfaceDecl is arguably a TypeDecl, it isn't a ScopedDecl. Since TypeDecl's are scoped, it makes sense to simply treat them as NamedDecl's. I could have fiddled a bit more with the hierarchy (in terms of creating a non-scoped TypeDecl), however this probably isn't worth the effort.
I also finished unifying access to scope decl change by converting Sema::getObjCInterfaceDecl() to use Sema::LookupDecl(). This is much cleaner now:-)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49107
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 18:03:36 +0000 (18:03 +0000)]
Initial support for generating index.html file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49104
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 18:03:20 +0000 (18:03 +0000)]
Put "BUGDESC" comment tag on its own line.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49103
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 18:02:54 +0000 (18:02 +0000)]
Shorted bug-description.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49102
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 17:45:06 +0000 (17:45 +0000)]
simplify some code by using PointerLikeType.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49101
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 17:35:06 +0000 (17:35 +0000)]
add a common base class "PointerLikeType" for PointerType and ReferenceType,
allowing them to be treated the same in some contexts. A suggestion for a
better name is welcome :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49100
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 17:17:33 +0000 (17:17 +0000)]
properly handle array decay in objc message exprs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49098
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 17:15:17 +0000 (17:15 +0000)]
improve error to be something end users will actually understand :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49097
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 16:54:39 +0000 (16:54 +0000)]
Added path-sensitive null dereference test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49095
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 16:47:27 +0000 (16:47 +0000)]
More wording cleanups in --help text.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49094
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 16:41:25 +0000 (16:41 +0000)]
More wording fixes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49093
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 16:35:01 +0000 (16:35 +0000)]
Added error message for unrecognized options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49092
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 16:31:58 +0000 (16:31 +0000)]
Wording cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49091
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 16:04:51 +0000 (16:04 +0000)]
Implemented "-k" support.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49090
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 15:34:12 +0000 (15:34 +0000)]
Do equality testing, not regex, when the build command is gcc. This matches
better with what compiler invocations that ccc-analyzer actually intercepts.
Fixes suggested by Sam Bishop!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49089
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 2 Apr 2008 14:35:35 +0000 (14:35 +0000)]
Two changes to Sema::LookupDecl() interface.
(1) Remove IdLoc (it's never used).
(2) Add a bool to enable/disable lazy builtin creaation (defaults to true).
This enables us to use LookupDecl() in Sema::isTypeName(), which is also part of this commit.
To make this work, I changed isTypeName() to be a non-const member function. I'm not happy with this, however I fiddled with making LookupDecl() and friends const and it got ugly pretty quickly. We can certainly add it back if/when someone has time to fiddle with it. For now, I thought this simplification was more important than retaining the const-ness.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49087
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 07:05:46 +0000 (07:05 +0000)]
Beginning of some cleanups; start generating path diagnostics using objects
that describe a bug.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49086
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 07:05:07 +0000 (07:05 +0000)]
Minor wording changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49085
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 07:04:46 +0000 (07:04 +0000)]
Embed "DESC" tag in HTML reports.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49084
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 07:03:43 +0000 (07:03 +0000)]
Added "description" field to PathDiagnostic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49083
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 06:59:01 +0000 (06:59 +0000)]
Various parts of the standard require something to be an "incomplete or
object type". Add a predicate that checks exactly this, as it is equivalent
to checking ot see if the type is *not* a function type, which is faster
to check.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49082
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 06:50:17 +0000 (06:50 +0000)]
1) Enforce C99 6.7.3p2: "Types other than pointer types derived from
object or incomplete types shall not be restrict-qualified."
2) Warn about qualifiers on function types: C99 6.7.3p8: "If the
specification of a function type includes any type qualifiers, the
behavior is undefined."
3) Implement restrict on C++ references.
4) fix some locations for various C++ reference diagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49081
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 06:06:35 +0000 (06:06 +0000)]
Add a citation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49080
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 05:18:44 +0000 (05:18 +0000)]
Fix several bugs in array -> pointer decomposition.
First, we got several CVR propagation cases wrong, which Eli pointed
out in PR2039.
Second, we didn't propagate address space qualifiers correctly, leading
to incorrect lowering of code in CodeGen/address-space.c.
Third, we didn't uniformly propagate the specifier in the array to the
pointer ("int[restrict 4]" -> "int *restrict").
This adds an ASTContext::getArrayDecayedType member that handles the
non-trivial logic for this seemingly simple operation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49078
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 05:15:22 +0000 (05:15 +0000)]
Added initial hacked support for display path diagnostics with
GRSimpleVals warnings. Cleaning up, but now we get multiple bubbles (branches are annotated).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49077
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 05:13:10 +0000 (05:13 +0000)]
Fix copy-paste error.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49076
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 05:09:38 +0000 (05:09 +0000)]
remove blank line.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49075
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 05:06:23 +0000 (05:06 +0000)]
print cvr qualifiers on simplified typedefs
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49074
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 2 Apr 2008 04:43:42 +0000 (04:43 +0000)]
Added special handling when the build command is "gcc", "cc", or "llvm-gcc";
in these cases we directly call ccc-analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49073
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 04:24:33 +0000 (04:24 +0000)]
rename some variables, fix 80 col violation. No
functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49072
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sam Bishop [Wed, 2 Apr 2008 03:35:43 +0000 (03:35 +0000)]
a bunch of random cleanups
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49071
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Apr 2008 01:05:10 +0000 (01:05 +0000)]
Fix PR2017 and silence some bogus errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49068
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 2 Apr 2008 00:39:51 +0000 (00:39 +0000)]
Fix a comment typo and add a couple suggestions from Chris.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49066
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 1 Apr 2008 23:04:06 +0000 (23:04 +0000)]
Fairly large "cleaup" related to changing ObjCCompatibleAliasDecl superclass (to inherit from NamedDecl, instead of ScopedDecl).
- Added a DenseMap to associate an IdentifierInfo with the ObjCCompatibleAliasDecl.
- Renamed LookupScopedDecl->LookupDecl and changed it's return type to Decl. Also added lookup for ObjCCompatibleAliasDecl's.
- Removed Sema::LookupInterfaceDecl(). Converted clients to used LookupDecl().
- Some minor indentation changes.
Will deal with ObjCInterfaceDecl and getObjCInterfaceDecl() in a separate commit...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49058
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 1 Apr 2008 22:35:58 +0000 (22:35 +0000)]
Patch by Argiris Kirtzidis: Fix a dangling pointer error!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49057
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 1 Apr 2008 21:36:28 +0000 (21:36 +0000)]
Minor cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49052
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 1 Apr 2008 21:22:03 +0000 (21:22 +0000)]
Added help text for scan-build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49051
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 1 Apr 2008 20:47:38 +0000 (20:47 +0000)]
Initial checking of 'scan-build' script, a script used to wrap builds and
interpose calls to gcc with calls to the analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49049
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 1 Apr 2008 18:04:30 +0000 (18:04 +0000)]
Update to match simplified llvm MemoryBuffer interfaces for files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49042
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 1 Apr 2008 06:08:11 +0000 (06:08 +0000)]
prune dead #includes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49033
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 1 Apr 2008 06:06:37 +0000 (06:06 +0000)]
MemoryBuffer::getFile got smarter, obviating the need for readfilefast.
The new MemoryBuffer doesn't "leak" file descriptors and handles the
small file case efficiently.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49032
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 23:30:12 +0000 (23:30 +0000)]
Embed linkable IDs in message bubbles.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49005
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 31 Mar 2008 23:25:25 +0000 (23:25 +0000)]
improve comma consistency, yes I'm anal
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49004
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 23:14:05 +0000 (23:14 +0000)]
Better handling for tabs with message bubbles.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49001
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 21:40:14 +0000 (21:40 +0000)]
When emitting HTML messages, take into account margin fusing due to tabs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48998
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 21:20:32 +0000 (21:20 +0000)]
Do not abort ccc-analyzer script if an HTML directory is not specified.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48997
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 20:42:43 +0000 (20:42 +0000)]
Do not prepend the keyword "[CHECKER]" to checker messages when using
a PathDiagnosticClient.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48996
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 31 Mar 2008 18:44:59 +0000 (18:44 +0000)]
Hack ReadFileFast() to raise the threshold of memory mapped files (from 4->12 pages).
This is a temporary solution to avoid running out of file descriptors (which defaults to 256).
Need to benchmark to understand the speed benefit. If the benefit is small, the simple solution is to avoid memory mapping files. If the benefit is significant, more thought is necessary.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48991
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 18:44:32 +0000 (18:44 +0000)]
Include ranges in GRSimpleVals diagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48990
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 18:26:32 +0000 (18:26 +0000)]
Inlined clang/Analysis/Analyses/GRSimpleVals.h into LocalCheckers.h and removed
GRSimpleVals.h
Added a PathDiagnosticClient option to the driver functions for the
CFRefCountChecker and the GRSimpleVals analysis. Both analyses now accept a "-o"
argument from the driver that specifies where HTML reports should be dumped.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48989
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 18:25:05 +0000 (18:25 +0000)]
The ccc-analyzer script now interrogates environment variables to determine
where to dump HTML reports.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48987
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 18:23:15 +0000 (18:23 +0000)]
Added variation of the "Report" method in the class Diagnostic that takes
an optional DiagnosticClient argument that differs from the client stored
internally in the Diagnostic object.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48986
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 16:00:32 +0000 (16:00 +0000)]
Disable timing diagnostics for GRSimpleVals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48981
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 31 Mar 2008 15:02:58 +0000 (15:02 +0000)]
Added path-sensitive check for return statements that return the address
of a stack variable. This is the path-sensitive version of a check that
is already done during semantic analysis.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48980
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 31 Mar 2008 00:36:02 +0000 (00:36 +0000)]
rename Decl::CompatibleAlias -> ObjCCompatibleAlias.
Fix objc ivar lookup. Ivar lookup should occur between lookup
of method-local values and lookup of globals. Emulate this with
some logic in the handling of Sema::ActOnIdentifierExpr.
Two todo's left:
1) sema shouldn't turn a bare reference to an ivar into "self->ivar"
in the AST. This is a hack.
2) The new ScopedDecl::isDefinedOutsideFunctionOrMethod method does
not correctly handle typedefs and enum constants yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48972
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Mar 2008 23:25:33 +0000 (23:25 +0000)]
some cleanups on top of David's patch. There are still two
remaining open issues I've communicated to him:
1) self can be assigned to, and his patch didn't handle it correctly.
2) CollectObjCIvarTypes is N^2 (because each subclass reprocesses
all parent class ivars) and flattens classes. If A derives from B,
and both have an int, I'd expect to get { {i32}, i32}, not { i32, i32}.
David, please review.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48970
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Mar 2008 23:03:07 +0000 (23:03 +0000)]
Add initial support for objc codegen for methods, ivars, and the
etoile runtime, patch by David Chisnall!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48969
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Fri, 28 Mar 2008 22:26:09 +0000 (22:26 +0000)]
Only have the rewriter produce a file when there are no errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48926
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Fri, 28 Mar 2008 21:37:05 +0000 (21:37 +0000)]
Make sure Sema::ActOnClassMessage() correctly diagnoses "super".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48924
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 28 Mar 2008 16:09:38 +0000 (16:09 +0000)]
Added skeleton checking for NSString's method initWithFormat: (do not pass nil). This won't be useful in most cases right now
because the analyzer isn't tracking expected types for an object, and [NSString alloc] just runs "id".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48917
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 27 Mar 2008 22:59:54 +0000 (22:59 +0000)]
Add some of Ted's recent work to the VC++ project file.
Fix a couple bozo bugs in the rewriter.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48903
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 27 Mar 2008 22:29:16 +0000 (22:29 +0000)]
Collect all the preamble code and don't insert it until the end.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48899
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 22:05:32 +0000 (22:05 +0000)]
Expanded NSString checking to check for nil for a few more methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48898
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 21:23:57 +0000 (21:23 +0000)]
Add line SourceLocation to NSString checks.
Added test case to test warning about passing 'nil' to NSString's compare: method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48896
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 21:15:17 +0000 (21:15 +0000)]
Hooked up initial NSString interface checking to GRSimpleVals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48895
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 18:11:59 +0000 (18:11 +0000)]
ProgramPoint is just a smart pointer; no reason to return a constant reference.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48891
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 17:28:58 +0000 (17:28 +0000)]
Minor CSS tweaking (smaller h1 tags).
Bug fix in EscapeText (for std::string) where spaces were not properly emitted.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48889
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 17:25:28 +0000 (17:25 +0000)]
For HTMLDiagnostics, when emitting the name of the directory, substitute the current working directory for "."
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48888
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Mar 2008 17:17:51 +0000 (17:17 +0000)]
Update Xcode project: add BasicObjCFoundationChecks.h
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48887
91177308 -0d34-0410-b5e6-
96231b3b80d8