]>
granicus.if.org Git - clang/log
Chris Lattner [Fri, 4 Apr 2008 16:54:41 +0000 (16:54 +0000)]
Since isComplexType() no longer returns true for _Complex integers, the code
generator needs to call isAnyComplexType(). This fixes PR1960.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49220
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 Apr 2008 16:51:46 +0000 (16:51 +0000)]
add an isAnyComplexType() method, which returns true for both
integer and FP complexes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49219
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 Apr 2008 15:59:59 +0000 (15:59 +0000)]
updates from David.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49217
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 Apr 2008 15:47:22 +0000 (15:47 +0000)]
various bug fixes, add to xcode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49216
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 Apr 2008 15:45:52 +0000 (15:45 +0000)]
initial checkin of Étoilé runtime support, patch by David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49215
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Fri, 4 Apr 2008 14:32:09 +0000 (14:32 +0000)]
Add explicit support for diagnosing implicit function decls.
Without this, the diagnostic is very confusing. The diag is now consistent with gcc as well.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49214
91177308 -0d34-0410-b5e6-
96231b3b80d8
Seo Sanghyeon [Fri, 4 Apr 2008 11:02:21 +0000 (11:02 +0000)]
- ccc: print generated command line to stdout instead of stderr
- ccc: quote shell metacharacters in command line to ease copy-and-paste
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49213
91177308 -0d34-0410-b5e6-
96231b3b80d8
Seo Sanghyeon [Fri, 4 Apr 2008 09:45:30 +0000 (09:45 +0000)]
PR1963: Address of function is a constant expression
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49212
91177308 -0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Fri, 4 Apr 2008 06:16:25 +0000 (06:16 +0000)]
fix build error: add missing braces.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49209
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 Apr 2008 06:12:32 +0000 (06:12 +0000)]
Introduce ContextDecl, patch by Argiris Kirtzidis!
-Added ContextDecl (no TranslationUnitDecl)
-ScopedDecl class has a ContextDecl member
-FieldDecl class has a ContextDecl member, so that a Field or a ObjCIvar can be traced back to their RecordDecl/ObjCInterfaceDecl easily
-FunctionDecl, ObjCMethodDecl, TagDecl, ObjCInterfaceDecl inherit from ContextDecl. With TagDecl as ContextDecl, enum constants have a EnumDecl as their context.
-Moved Decl class to a "DeclBase.h" along with ContextDecl class
-CurContext is handled by Sema
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49208
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 Apr 2008 04:07:35 +0000 (04:07 +0000)]
Codegen assignment to self correctly, patch by David Chisnall!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49201
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 4 Apr 2008 01:30:25 +0000 (01:30 +0000)]
Ignore qualifiers when checking vector operands, just like scalar operands.
This prevents things like
a += b[0]; where a is a float4 and b is a float4 * (address_space 1)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49199
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 21:44:24 +0000 (21:44 +0000)]
Added investigate patch for an occasionally failing assertion (heisenbug?)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49193
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 21:29:11 +0000 (21:29 +0000)]
Remove bogus check to prune out analyzing files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49191
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 21:17:14 +0000 (21:17 +0000)]
More reliably remove '\n' from queries of the location of ccc-analyzer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49189
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 20:08:18 +0000 (20:08 +0000)]
Use full path to ccc-analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49187
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 3 Apr 2008 19:58:06 +0000 (19:58 +0000)]
Teach clang how to codegen punpcklbw and punpcklwd
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49186
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 19:52:45 +0000 (19:52 +0000)]
Make typedefs public.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49185
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 18:52:25 +0000 (18:52 +0000)]
Better range highlight for undefined-argument checks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49184
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 18:46:16 +0000 (18:46 +0000)]
When reporting "bad receiver" warnings, highlight the receiver.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49183
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 18:00:37 +0000 (18:00 +0000)]
Use "getRanges" in default implementation of "getEndPath" to determine
the ranges of highlighted elements in the source code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49181
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 17:57:38 +0000 (17:57 +0000)]
Hooked up GRSimpleAPICheck and the simple Objective-C Foundation checks to use
the new BugReporter interface.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49180
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 17:56:48 +0000 (17:56 +0000)]
Mark nodes as sinks that GRAuditor says should be marked as sinks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49179
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 17:55:57 +0000 (17:55 +0000)]
Use logical line number for BUGLINE.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49178
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 3 Apr 2008 17:55:15 +0000 (17:55 +0000)]
Added "getLogicalLineNumber" and "getLogicalColumnNumber" to FullSourceLoc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49177
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sam Bishop [Thu, 3 Apr 2008 14:29:47 +0000 (14:29 +0000)]
Remove handling of impossible "-?" option.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49161
91177308 -0d34-0410-b5e6-
96231b3b80d8
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