]> granicus.if.org Git - clang/log
clang
16 years agoadd an isAnyComplexType() method, which returns true for both
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

16 years agoupdates from David.
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

16 years agovarious bug fixes, add to xcode project.
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

16 years agoinitial checkin of Étoilé runtime support, patch by David Chisnall
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

16 years agoAdd explicit support for diagnosing implicit function decls.
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

16 years ago- ccc: print generated command line to stdout instead of stderr
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

16 years agoPR1963: Address of function is a constant expression
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

16 years agofix build error: add missing braces.
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

16 years agoIntroduce ContextDecl, patch by Argiris Kirtzidis!
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

16 years agoCodegen assignment to self correctly, patch by David Chisnall!
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

16 years agoIgnore qualifiers when checking vector operands, just like scalar operands.
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

16 years agoAdded investigate patch for an occasionally failing assertion (heisenbug?)
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

16 years agoRemove bogus check to prune out analyzing files.
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

16 years agoMore reliably remove '\n' from queries of the location of ccc-analyzer
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

16 years agoUse full path to ccc-analyzer.
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

16 years agoTeach clang how to codegen punpcklbw and punpcklwd
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

16 years agoMake typedefs public.
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

16 years agoBetter range highlight for undefined-argument checks.
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

16 years agoWhen reporting "bad receiver" warnings, highlight the receiver.
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

16 years agoUse "getRanges" in default implementation of "getEndPath" to determine
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

16 years agoHooked up GRSimpleAPICheck and the simple Objective-C Foundation checks to use
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

16 years agoMark nodes as sinks that GRAuditor says should be marked as sinks.
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

16 years agoUse logical line number for BUGLINE.
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

16 years agoAdded "getLogicalLineNumber" and "getLogicalColumnNumber" to FullSourceLoc.
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

16 years agoRemove handling of impossible "-?" option.
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

16 years agotrivial whitespace fix
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

16 years agoHandle the case when getEndPath() returns NULL.
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

16 years agoDon't run the analyzer on files whose language is "unknown"
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

16 years agoAdded guard for printing out PathDiagnostics whose last element ends with
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

16 years agoSome cleanups in EscapeText and AddLineNumbers. Still investigating performance
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

16 years agoRemove impossible "-?" option.
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

16 years agoAdded "isFileID()" to FullSourceLoc.
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

16 years agoCSS/HTML generation tweaks for index.html: Remove special "classes" for <td>
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

16 years agoFix PR2081 (problems codegen'ing some recursive structures) patch
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

16 years agoCreated a destructor so that the top-level decls can be deleted.
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

16 years agoTemporarily make the Decl virtual destructor public, so that calls to "delete"
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

16 years agoAdd back bug name to PathDiagnostic.
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

16 years agoFix a bug where we didn't check the RHS for null, we checked
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

16 years agoqualifier comparisons should be done on canonical types.
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

16 years agoCall delete on the deserialized TranslationUnit object.
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

16 years agoCall "delete" on the body of FunctionDecls.
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

16 years agoWhen creating PathDiagnostics, created a trimmed graph first and report the
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

16 years agoAdded node_iterator to ExplodedGraph to allow iteration over all nodes in
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

16 years agoUpdated Xcode project to include BugReporter.[cpp,h].
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

16 years agoCreated new path-sensitive bug-reporting scheme based on the classes
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

16 years agoAdded missing #ifndef...#define...#endif directives to protect against
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

16 years agoCSS tweaking on blue boxes.
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

16 years ago80 col violation
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

16 years agoAdded more PathDiagnostic rendering for terminators: switch, goto, loops.
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

16 years agoBlue diagnostic boxes.
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

16 years agoAdded path sequence numbers in HTML output of PathDiagnostics.
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

16 years agoFix initialization bug.
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

16 years agoEmbed BUGLINE, BUGFILE, BUGPATHLENGTH in the emitted HTML file.
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

16 years agoMade bug index tables sortable.
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

16 years agoAdded "back()" method to PathDiagnostic to access the last piece in a path.
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

16 years agoInitial work on CSS in generated index.html.
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

16 years agoChange ObjCInterfaceDecl to inherit from NamedDecl (not TypeDecl). While ObjCInterfac...
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

16 years agoInitial support for generating index.html file.
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

16 years agoPut "BUGDESC" comment tag on its own line.
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

16 years agoShorted bug-description.
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

16 years agosimplify some code by using PointerLikeType.
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

16 years agoadd a common base class "PointerLikeType" for PointerType and ReferenceType,
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

16 years agoproperly handle array decay in objc message exprs.
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

16 years agoimprove error to be something end users will actually understand :)
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

16 years agoAdded path-sensitive null dereference test case.
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

16 years agoMore wording cleanups in --help text.
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

16 years agoMore wording fixes.
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

16 years agoAdded error message for unrecognized options.
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

16 years agoWording cleanups.
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

16 years agoImplemented "-k" support.
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

16 years agoDo equality testing, not regex, when the build command is gcc. This matches
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

16 years agoTwo changes to Sema::LookupDecl() interface.
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

16 years agoBeginning of some cleanups; start generating path diagnostics using objects
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

16 years agoMinor wording changes.
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

16 years agoEmbed "DESC" tag in HTML reports.
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

16 years agoAdded "description" field to PathDiagnostic.
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

16 years agoVarious parts of the standard require something to be an "incomplete or
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

16 years ago1) Enforce C99 6.7.3p2: "Types other than pointer types derived from
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

16 years agoAdd a citation.
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

16 years agoFix several bugs in array -> pointer decomposition.
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

16 years agoAdded initial hacked support for display path diagnostics with
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

16 years agoFix copy-paste error.
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

16 years agoremove blank line.
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

16 years agoprint cvr qualifiers on simplified typedefs
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

16 years agoAdded special handling when the build command is "gcc", "cc", or "llvm-gcc";
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

16 years agorename some variables, fix 80 col violation. No
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

16 years agoa bunch of random cleanups
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

16 years agoFix PR2017 and silence some bogus errors.
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

16 years agoFix a comment typo and add a couple suggestions from Chris.
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

16 years agoFairly large "cleaup" related to changing ObjCCompatibleAliasDecl superclass (to...
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

16 years agoPatch by Argiris Kirtzidis: Fix a dangling pointer error!
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

16 years agoMinor cleanups.
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

16 years agoAdded help text for scan-build.
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

16 years agoInitial checking of 'scan-build' script, a script used to wrap builds and
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

16 years agoUpdate to match simplified llvm MemoryBuffer interfaces for files.
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

16 years agoprune dead #includes
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

16 years agoMemoryBuffer::getFile got smarter, obviating the need for readfilefast.
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

16 years agoEmbed linkable IDs in message bubbles.
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

16 years agoimprove comma consistency, yes I'm anal
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

16 years agoBetter handling for tabs with message bubbles.
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