Commit Graph

42886 Commits

Author SHA1 Message Date
Nate Begeman 46bd037c07 Ignore qualifiers when attempting to match arguments to parameter types for
__builtin_overload

llvm-svn: 49943
2008-04-18 23:35:14 +00:00
Nate Begeman ce4d7fce6b OCUVector -> ExtVector, shorthand for extended vector, per feedback from Chris.
llvm-svn: 49942
2008-04-18 23:10:10 +00:00
Ted Kremenek 423edc2384 Another bug fix in emitting warnings without a path: construct a unit PathDiagnostic as we did
before.  This allows the HTMLDiagnostic object to retrieve the bug type, bug description, etc.

llvm-svn: 49939
2008-04-18 22:56:53 +00:00
Nuno Lopes 42dd577238 fix __attribute__(format) for struct function pointer fields
llvm-svn: 49938
2008-04-18 22:43:39 +00:00
Steve Naroff 472cf88ef2 Remove bogus cast (<rdar://problem/5874848> clang objc-rewriter: structure with list of protocols has wrong cast).
llvm-svn: 49935
2008-04-18 22:15:15 +00:00
Ted Kremenek bf27dc9659 Reenable using the PathDiagnosticClient for BugReports without paths.
llvm-svn: 49934
2008-04-18 22:11:59 +00:00
Ted Kremenek cf9e9c5554 Use 'clang' binary in the same dir as scan-build; if it isn't there use the one in the path
llvm-svn: 49933
2008-04-18 22:00:56 +00:00
Steve Naroff 24840f6748 Implement FIXME discoved by <rdar://problem/5874876> Rewriter: Explicit ivar refs outside a method are being rewritten
llvm-svn: 49932
2008-04-18 21:55:08 +00:00
Ted Kremenek 8886b3021e Turn on CF reference count checker.
llvm-svn: 49931
2008-04-18 21:53:01 +00:00
Dale Johannesen ce9dc86994 Fix a scalar evolution bug. Reversing everything
does not work because of 0; 2>0 but -2U is also >0.

llvm-svn: 49928
2008-04-18 21:38:31 +00:00
Steve Naroff dcdcdcdfef Fix <rdar://problem/5874697> Rewriter: method arguments with complex types not being rewritten properly.
llvm-svn: 49925
2008-04-18 21:13:19 +00:00
Nicolas Geoffray 85a9f1911e Enable jitting with a known memory size.
llvm-svn: 49924
2008-04-18 20:59:31 +00:00
Duncan Sands 1ec193e90b Implement a bit more softfloat support in
LegalizeTypes.  Correct the load logic so
that it actually works, and also teach it
to handle floating point extending loads.

llvm-svn: 49923
2008-04-18 20:56:03 +00:00
Dan Gohman ad4071a9e1 Fix the handling of va_copy on x86-64. As of llvm-gcc r49920
llvm-gcc is now lowering va_copy on x86-64, so this completes
the fix for PR2230.

llvm-svn: 49922
2008-04-18 20:55:41 +00:00
Evan Cheng 00bd8d904a - Fix atomic operation JIT encoding.
- Remove unused instructions.

llvm-svn: 49921
2008-04-18 20:55:36 +00:00
Ted Kremenek 31484b2477 Generalize caching mechanism for bugs reports. Now individual BugTypes
can decide the policy on how to cache related bugs.  This allows us to
properly to handle warning about multiple leaks in the same location in the
ref count checker (not yet done).

llvm-svn: 49918
2008-04-18 20:54:29 +00:00
Ted Kremenek c072b820cf Fixed more caching bugs related to the one fixed in r49914. Silence
compiler warning introduced by a recent patch of mine.

llvm-svn: 49917
2008-04-18 20:35:30 +00:00
Duncan Sands a8a61562af Add some more FIXME's for indexed loads and stores.
llvm-svn: 49916
2008-04-18 20:27:12 +00:00
Duncan Sands b4e0b24e0a Provide an explicit list of operands to MakeLibcall,
rather than having it suck them out of a node.  Add
a bunch of new libcalls, and remove dead softfloat
code (dead, because FloatToInt is used not Expand
in this case).  Note that indexed stores probably
aren't handled properly, likewise for loads.

llvm-svn: 49915
2008-04-18 20:25:14 +00:00
Ted Kremenek acefba896c Fixed elusive caching bug that led to false positives.
llvm-svn: 49914
2008-04-18 19:34:16 +00:00
Evan Cheng d556115e7e Correct comment.
llvm-svn: 49913
2008-04-18 19:25:26 +00:00
Ted Kremenek 4d83728a57 Added "GetErrorNodes()" to BugType so that -trim-egraph can recognize errors
from registered BugTypes.  This helps with debugging.

Add detection of NULL values in ref count checker; this suppresses false positives.

llvm-svn: 49912
2008-04-18 19:23:43 +00:00
Evan Cheng 495a516390 Not safe to "kill" a register if its live range extends pass the end of block branch.
llvm-svn: 49911
2008-04-18 19:22:23 +00:00
Ted Kremenek 3388381993 Added "EvalAssume" virtual method to GRTransferFuncs; this is for evaluating
the checker-specific logic of symbolic assumptions.

llvm-svn: 49910
2008-04-18 17:20:23 +00:00
Nate Begeman 65bea23674 Tabs -> spaces
llvm-svn: 49909
2008-04-18 17:17:24 +00:00
Ted Kremenek 532ba14fdb Spelling fix.
llvm-svn: 49908
2008-04-18 16:58:34 +00:00
Ted Kremenek d004c418b6 Fixed bug in GREndPathNodeBuilder: only return a node if it wasn't in the node cache.
llvm-svn: 49907
2008-04-18 16:30:14 +00:00
Ted Kremenek b06817e914 scan-build now fixes permissions of report files and directories, which may
be created as "temporary files" that are not world readable.

llvm-svn: 49904
2008-04-18 15:18:20 +00:00
Ted Kremenek 4bf02a0856 Compute a digest of each report file, and nuke reports that have the same
digest as a file already added to the index.  This a workaround for the
analyzer analyzing the same file more than once, which can happen when building
multiple targets.

llvm-svn: 49903
2008-04-18 15:09:30 +00:00
Nate Begeman c00bed3871 Initialize default double width and alignment
llvm-svn: 49899
2008-04-18 05:49:49 +00:00
Nate Begeman 26ed25253e Allow targets to override double size, alignment, and semantics, and tie this
information into the IR type codegen.  This allows a target to codegen the C
'double' type as either double or float.

llvm-svn: 49898
2008-04-18 05:41:31 +00:00
Ted Kremenek 71c41d9561 Restore macro expansion for HTMLPrint by using the original Preprocessor.
This is a workaround until we figure out why a freshly create Preprocessor
doesn't expand macros from headers.

llvm-svn: 49897
2008-04-18 05:35:23 +00:00
Ted Kremenek a960be4bd4 Provide a version of html::HighlightMacros that takes a Preprocessor&.
llvm-svn: 49896
2008-04-18 05:34:33 +00:00
Ted Kremenek f03e07c34d More grammar fixes.
llvm-svn: 49895
2008-04-18 05:32:44 +00:00
Ted Kremenek ca8892b456 Fix plurality debacle.
llvm-svn: 49894
2008-04-18 05:13:26 +00:00
Ted Kremenek 9e48b0c4ed Fixed range highlighting bug in HTML diagnostics.
llvm-svn: 49893
2008-04-18 05:01:33 +00:00
Ted Kremenek 40d601f958 Added path diagnostics for reference counts.
llvm-svn: 49892
2008-04-18 04:55:01 +00:00
Chris Lattner 4bbd164a7a Make tab insertion really right: the number of spaces inserted
depends on the column number of the start of the tab.

llvm-svn: 49891
2008-04-18 04:54:20 +00:00
Ted Kremenek c88fb63da0 Several Expr subclasses did not mark "getSourceRange()" virtual. Fixed.
llvm-svn: 49890
2008-04-18 04:18:16 +00:00
Ted Kremenek 396f43620f BugReport::VisitNode now takes BugReporter& instead of ASTContext&.
Shuffled around code in CFRefCount to better pair classes with implementation,
and started adding subclasses of RangedBugReport to handle better diagnostics
for reference count bugs.

llvm-svn: 49889
2008-04-18 03:39:05 +00:00
Ted Kremenek a3d02636ef Use HTML5 doctype when generating HTML.
llvm-svn: 49888
2008-04-18 03:37:38 +00:00
Ted Kremenek 89e6a9b98c Added null check.
llvm-svn: 49887
2008-04-18 02:24:50 +00:00
Ted Kremenek a821e087de Updated CSS colors. Patch by Cedric Venet!
llvm-svn: 49886
2008-04-18 02:12:39 +00:00
Ted Kremenek 217e9bff2b Added test cases to test for reference count leaks.
llvm-svn: 49885
2008-04-18 02:00:02 +00:00
Ted Kremenek cffe635699 Simplified internal logic of BugReporter, consolidating EmitWarning and
EmitPathWarning into one method.  We now properly handle emitting warnings
without a PathDiagnosticClient when the warning does not involve a particular
statement.

llvm-svn: 49884
2008-04-18 01:56:37 +00:00
Fariborz Jahanian d83bdd3841 Fixed a bug in categories and properties.
llvm-svn: 49883
2008-04-18 00:30:47 +00:00
Fariborz Jahanian ffe97a3925 Initial work for property implementation declarations.
Mostly semantic checking in this patch. This is on going
and incomplete.

llvm-svn: 49882
2008-04-18 00:19:30 +00:00
Steve Naroff be89ba0c38 Update VC++ project files.
llvm-svn: 49881
2008-04-17 23:51:38 +00:00
Ted Kremenek 69049c272f Modified BugReport::getEndPath() to handle the case where end path is at
the exit block of the CFG.

llvm-svn: 49880
2008-04-17 23:44:37 +00:00
Ted Kremenek cc0951bde1 Hook up reporting reference count memory leaks to the BugReporter mechanism.
llvm-svn: 49879
2008-04-17 23:43:50 +00:00