]>
granicus.if.org Git - clang/log
Zhongxing Xu [Sat, 9 May 2009 10:03:08 +0000 (10:03 +0000)]
Remove the case for casting to compatible type in
RegionStoreManager::CastRegion(). This case should be subsumed by others.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71353
91177308 -0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 9 May 2009 07:08:47 +0000 (07:08 +0000)]
Correct for renaming PaddedSize -> AllocSize in
LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71350
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 07:05:44 +0000 (07:05 +0000)]
Roll back to checker build 0.195.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71348
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 9 May 2009 04:08:27 +0000 (04:08 +0000)]
Rename:
SymbolRegionRValue => SymbolRegionValue
SymExpr::RegionRValue => SymExpr::RegionValueKind
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71322
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 9 May 2009 03:57:34 +0000 (03:57 +0000)]
As discussed with Ted, rename TypedRegion::getObjectType() to
TypedRegion::getValueType().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71321
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 03:10:32 +0000 (03:10 +0000)]
Add back test cases for ns_returns_retained and cf_returns_retained.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71312
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 03:08:29 +0000 (03:08 +0000)]
Add back attribute string lookup for 'ns_returns_retained' and
'cf_returns_retained'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71311
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 02:58:13 +0000 (02:58 +0000)]
Add back analyzer support for ns_returns_retained and cf_returns_retained.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71309
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 02:44:38 +0000 (02:44 +0000)]
Add back Parse/Sema support for attributes cf_returns_retained and
ns_returns_retained, but do not include the other ownership attributes
we previously had.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71308
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 01:50:57 +0000 (01:50 +0000)]
It lives! The retain/release checker now tracks objects that are sent
'autorelease'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71307
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 01:37:12 +0000 (01:37 +0000)]
Fix lurking bug in one of the versions of
GRStmtNodeBuilder::generateNode() where the HasGeneratedNode flag
wouldn't properly be set.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71306
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 9 May 2009 00:50:33 +0000 (00:50 +0000)]
rename: MemRegion:
RValueType => ObjectType
LValueType => LocationType
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71304
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 00:44:07 +0000 (00:44 +0000)]
More hacking on autorelease errors. We now can emit basic errors (disabled for
now until ready).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 00:10:05 +0000 (00:10 +0000)]
Put most of the boilerplate logic in place for reporting autorelease errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71301
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 8 May 2009 23:45:49 +0000 (23:45 +0000)]
We want to diagnose sending message to a forward class
and we also want to tell which message is actually
being sent.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71296
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 23:40:45 +0000 (23:40 +0000)]
ABITest: Improve test driver marginally, to allow running a specific
test index.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71295
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 8 May 2009 23:32:51 +0000 (23:32 +0000)]
retain/release checker: Add stub for HandleAutoreleaseCounts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71290
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 8 May 2009 23:28:07 +0000 (23:28 +0000)]
Fix PR4182.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71288
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 8 May 2009 23:09:42 +0000 (23:09 +0000)]
retain/release checker: Refactor error-reporting code in EvalDeadSymbols and
EvalEndPath. This sets the stage for handling autorelease counts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71283
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 8 May 2009 23:08:34 +0000 (23:08 +0000)]
Make BlockEntrace program points taggable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71280
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 8 May 2009 23:07:51 +0000 (23:07 +0000)]
Fix typo in method name.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71279
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 8 May 2009 23:02:36 +0000 (23:02 +0000)]
Warn if forward class is used as a receiver.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71278
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 22:49:52 +0000 (22:49 +0000)]
ABITest: Move more of the common Makefile bits into the common
Makefile.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71274
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 22:48:39 +0000 (22:48 +0000)]
ABITest: Fix a bug in generating test values for structures w/ no
non-padding fields.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71273
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 22:26:44 +0000 (22:26 +0000)]
x86_64 ABI: Ignore padding bit-fields during classification.
- {return-types,single-args}-{32,64} pass the first 1k ABI tests with
bit-fields enabled.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71272
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 21:30:11 +0000 (21:30 +0000)]
Darwin x86_32: When coercing a "single element" structure, make sure
to use a wide enough type. This might be wider than the "single
element"'s type in the presence of padding bit-fields.
- Darwin x86_32 now passes the first 1k ABI tests with bit-field
generation enabled.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71270
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 8 May 2009 21:10:00 +0000 (21:10 +0000)]
Fixes a bug in my last patch. Order of types reversed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71267
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 21:04:47 +0000 (21:04 +0000)]
Darwin x86_32: Ignore padding bit-fields when looking for "single
element" structures.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71266
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 20:55:49 +0000 (20:55 +0000)]
Darwin x86_32: Improve bit-field handling for returning records.
- This turns out to be a no-op now that most of the handling for
everything else is in place.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71261
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 20:21:04 +0000 (20:21 +0000)]
Darwin x86_32: Ignore arrays of empty structures inside records.
- This eliminates 5/1000 failures on return-types-32, on the current
ABITest config.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71250
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 8 May 2009 20:20:55 +0000 (20:20 +0000)]
Refactoring of my last patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71248
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 20:10:52 +0000 (20:10 +0000)]
ABITest: Move default set of test args into common makefile.
Also, tweak default list of bit-fields to try.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71246
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 8 May 2009 20:01:42 +0000 (20:01 +0000)]
retain checker: Track the number of times a tracked object is sent
'autorelease'. This isn't used yet to flag errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71244
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 8 May 2009 19:36:34 +0000 (19:36 +0000)]
More type checking for properties, accessors and
use of dot-syntax expression. This is to match gcc's.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71243
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 8 May 2009 18:24:57 +0000 (18:24 +0000)]
Provide dummy va_list typedef for msp430
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71233
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 8 May 2009 17:36:08 +0000 (17:36 +0000)]
further improvements to gnu objc EH stuff, patch by David Chisnall!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71227
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 8 May 2009 15:39:58 +0000 (15:39 +0000)]
"This patch fixes message sends to super in categories for the GNU runtime. This used to work, but I broke it when I modified the code to emit the same thing as GCC for message sends to super in classes."
Patch by David Chisnall!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71220
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 8 May 2009 15:36:58 +0000 (15:36 +0000)]
Fix the atomics sema code to convert operands to the argument types
of the underlying _N builtin, not the the type of the pointee of the
actual type. This ensures that atomics involving pointers end up
using the correct integer type when they are resolved, avoiding
aborts in codegen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71218
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 8 May 2009 15:19:25 +0000 (15:19 +0000)]
Remove experimental ownership attributes from Clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71216
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 8 May 2009 07:28:25 +0000 (07:28 +0000)]
Region store: when casting VarRegions, if the cast-to pointee type is
incomplete, do not compute its size and return the original region.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71213
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 8 May 2009 06:58:22 +0000 (06:58 +0000)]
reimplement __sync_* builtins to be variadic and to follow the same
semantic rules that gcc and icc use. This implements the variadic
and concrete versions as builtins and has sema do the
disambiguation. There are probably a bunch of details to finish up
but this seems like a large monotonic step forward :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71212
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 8 May 2009 02:12:59 +0000 (02:12 +0000)]
Replace the heuristic isSmallerThan with ASTContext::getTypeSize().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71206
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 8 May 2009 02:00:55 +0000 (02:00 +0000)]
Replace getTypeWidth() with ASTContext::getTypeSize().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71205
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 8 May 2009 01:33:18 +0000 (01:33 +0000)]
Revert r71079.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71202
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 00:49:21 +0000 (00:49 +0000)]
Add various other bits I use to run ABITest.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71201
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 8 May 2009 00:32:39 +0000 (00:32 +0000)]
Fix <rdar://problem/
6845148 >. Signed integers compared against pointers should
implicitly be changed to unsigned values in GRSimpleVals.cpp. This can happen
when the comparison involves logic in specialized transfer functions (e.g.,
OSAtomicCompareAndSwap).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71200
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 8 May 2009 00:11:50 +0000 (00:11 +0000)]
initial support for ObjC exceptions with the GNU runtime:
"This patch is a first pass at adding support for exceptions for the GNU runtime. There are a few limitations at present:
- @synchronized() is not yet supported at all. gcc currently emits calls to runtime library functions that don't exist for this directive.
- Only id @catch statements are currently working. This is enough for NS_DURING and friends, but I need to spend more time reading the output from gcc -S to work out how it finds the class pointer to make arbitrary class type catch statements work.
- I've tested it with a few common cases[1] and the clang test suite (which doesn't test exceptions for the GNU runtime, but shows I haven't broken anything else), but there are probably a lot of cases I've missed."
Patch by David Chisnall!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71198
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 7 May 2009 23:42:42 +0000 (23:42 +0000)]
Fix crash with constant initialization of bit-fields in unions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71194
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 7 May 2009 23:40:42 +0000 (23:40 +0000)]
Minor code cleanup in retain/release checker in preparation for some
other changes. Instead of repeatedly checking for GC mode when
getting the return effect, just do this computation once.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71193
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 7 May 2009 23:19:55 +0000 (23:19 +0000)]
Add to the house of cards that is ABITestGen.
- Support generating structures with bit-fields.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71192
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 7 May 2009 23:06:50 +0000 (23:06 +0000)]
Add a warning for a missing copy attribute on a property that is a
block pointer. Radar
6441502
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71190
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 7 May 2009 21:58:26 +0000 (21:58 +0000)]
Remove -fobjc-tight-layout, seems to work!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71184
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 7 May 2009 21:56:17 +0000 (21:56 +0000)]
Allow qualifiers on blocks. Radar
6441502
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71183
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 7 May 2009 21:49:45 +0000 (21:49 +0000)]
More attribute renaming:
- Rename 'ns_returns_owned' -> 'ns_returns_retained'.
- Rename 'cf_returns_owned' -> 'cf_returns_retained'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71182
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 7 May 2009 21:49:26 +0000 (21:49 +0000)]
a forward class declaration matching a typedef name of a class
refers to the underlying class.
This is radar
6859726 . Steve, please read the radar for my rational.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71181
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 7 May 2009 19:41:51 +0000 (19:41 +0000)]
add isFriendSpecified.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71174
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 7 May 2009 19:02:53 +0000 (19:02 +0000)]
Fix <rdar://problem/
6848739 >. When using -analyze, -Werror has no effect.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71172
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 7 May 2009 18:43:07 +0000 (18:43 +0000)]
Tighten up relationals with blocks and ints. Radar
6441502
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71171
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 7 May 2009 18:27:16 +0000 (18:27 +0000)]
analyzer: Add ProgramPoint 'PostLValue' just to distinguish (for
analysis introspection) when we computed an lvalue. This shouldn't
effect the current analysis results in any way.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71169
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 7 May 2009 17:50:16 +0000 (17:50 +0000)]
Big update to the C++ status table to reflect "recent"
development. Still much more to write!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71167
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 7 May 2009 16:14:23 +0000 (16:14 +0000)]
Fix a FIXME in new expression checking.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71163
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 7 May 2009 15:40:54 +0000 (15:40 +0000)]
Document the dependent type equivalence test case's purpose.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71162
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 7 May 2009 15:31:47 +0000 (15:31 +0000)]
Test a few more variants of dependent type names
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71161
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 7 May 2009 06:49:52 +0000 (06:49 +0000)]
Compute the canonical template name when building a template
specialization type for a dependent template name.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71153
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 7 May 2009 06:41:52 +0000 (06:41 +0000)]
Start canonicalizing template names. This is not yet complete, but it
improves type identity with dependent types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71152
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 May 2009 04:47:06 +0000 (04:47 +0000)]
Add support for LLLi -> int128 in builtins.def
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71148
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 May 2009 04:21:16 +0000 (04:21 +0000)]
Make this test portable to non-x86 hosts, patch by Mark Cianciosa!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71146
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 7 May 2009 03:14:14 +0000 (03:14 +0000)]
Improve semantic checking for blocks. Radar
6441502
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71145
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 7 May 2009 00:45:33 +0000 (00:45 +0000)]
Add preliminary support for enhancing null-pointer dereference diagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71135
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 7 May 2009 00:45:08 +0000 (00:45 +0000)]
Bug fix: Not all ConstraintManagers always return a null state when setting
isFeasible to false. This is something we may wish to do further validation on.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71134
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Wed, 6 May 2009 23:27:55 +0000 (23:27 +0000)]
Back out r70506 (exception spec in AST) again. We won't have exception specs until we've had a lot more discussion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71125
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 6 May 2009 21:56:32 +0000 (21:56 +0000)]
Handle -march for the LLVM recognized cpu names.
- x86 target feature handling should not be feature complete, even if
the code quality is lacking.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71123
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 6 May 2009 21:39:49 +0000 (21:39 +0000)]
Refactor BugReporter interface to have a new 'BugReporterContext' and
'BugReporterVisitor'. This simplifies callbacks from BugReporter to BugReports
(via VisitNode). It also lays the foundation for arbitrary visitor "call backs"
that can be registered to a BugReporterContext as a PathDiagnostic is
constructed. These call backs can help operate as separate "experts" that can
work on constructed pieces of a PathDiagnostic for which they possess special
knowledge.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71121
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 6 May 2009 21:28:42 +0000 (21:28 +0000)]
If stderr isn't a terminal, don't try to guess the terminal width or
look at COLUMNS.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71120
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 6 May 2009 21:07:50 +0000 (21:07 +0000)]
More x86 target feature support.
- Apologies for the extremely gross code duplication, I want to get
this working and then decide how to get this information out of the
back end.
- This replaces -m[no-]sse4[12] by -m[no-]sse4, it appears gcc
doesn't distinguish them?
- -msse, etc. now properly disable/enable related features.
- Don't always define __SSE3__...
- The main missing functionality bit here is that we don't initialize
the features based on the CPU for all -march options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71117
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 6 May 2009 20:13:50 +0000 (20:13 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71112
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 6 May 2009 19:18:09 +0000 (19:18 +0000)]
Document environment variables we handle, and don't mention -pipe (it
isn't yet supported... lazy developers).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71109
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 6 May 2009 18:19:24 +0000 (18:19 +0000)]
Fix analyzer regression reported in PR 4164:
- Update the old StoreManager::CastRegion to strip off 'ElementRegions' when
casting to void* (Zhongxing: please validate)
- Pass-by-reference argument invalidation logic in CFRefCount.cpp:
- Strip ElementRegions when the ElementRegion is just a 'raw data' view
on top of the underlying typed region.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71094
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 May 2009 17:22:08 +0000 (17:22 +0000)]
More content.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71088
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 6 May 2009 11:51:48 +0000 (11:51 +0000)]
Improve RegionStoreManager::getSizeInElements()
- add a static function getTypeWidth(), which computes the width of a type
with the help of TargetInfo.
- no-outofbounds.c now passes for region store.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71080
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 6 May 2009 11:48:29 +0000 (11:48 +0000)]
add getTargetInfo() method to ASTContext.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71079
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 6 May 2009 08:33:50 +0000 (08:33 +0000)]
Add a GDM for recording the cast type of regions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71076
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 6 May 2009 08:15:46 +0000 (08:15 +0000)]
The super region of ElementRegion no longer needs to be TypedRegion. In the
future we would create ElementRegion directly on top of typeless regions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71075
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 6 May 2009 08:08:27 +0000 (08:08 +0000)]
Implement a heuristic type size comparison method for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71074
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 May 2009 06:00:28 +0000 (06:00 +0000)]
adjust this to bourne shell syntax
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71070
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 6 May 2009 04:58:14 +0000 (04:58 +0000)]
Tweak x86 -mcpu defaults.
- Default to yonah on Darwin (to get SSE3).
- Default to Pentium4 (32-bit) and x86-64 (64-bit) on
non-Darwin. Welcome to the 21st century.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71069
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 6 May 2009 04:46:28 +0000 (04:46 +0000)]
Add parsing of friend specifiers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71067
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 6 May 2009 04:43:47 +0000 (04:43 +0000)]
Eliminate extra vertical space in Clang diagnostics
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71066
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 May 2009 04:38:30 +0000 (04:38 +0000)]
daniel is buggy :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71065
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 May 2009 04:33:31 +0000 (04:33 +0000)]
Fix rdar://
6860124 - invalid input constraint 'J' in asm
This recognizes all the target-independent constant constraints
that have target-specific meanings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71064
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 6 May 2009 04:07:06 +0000 (04:07 +0000)]
Add missing include.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71063
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 6 May 2009 03:48:17 +0000 (03:48 +0000)]
Cleanup some FIXMEs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71062
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 6 May 2009 03:16:41 +0000 (03:16 +0000)]
Improve handling of (X86) target features.
- This is a WIP...
- This adds -march= handling to the driver, and fixes the defaulting
of -mcpu on Darwin (which was using the wrong test).
Instead of handling -m{sse, ...} in the driver, pass them to clang-cc as
-target-feature [+-]name
In clang-cc, communicate with the (clang) target to discover the legal
features of a target, and the features which are enabled based on
-mcpu. This is currently hardcoded just enough to not be a feature
regression, we need to get this information from the backend's
TableGen information somehow.
This is used to construct the full list of features which are being
used, which is in turn used to initialize the predefines.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71061
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 6 May 2009 02:54:11 +0000 (02:54 +0000)]
remove commented code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71060
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 May 2009 02:47:51 +0000 (02:47 +0000)]
add some content
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71059
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 6 May 2009 02:42:32 +0000 (02:42 +0000)]
Make StoreManager::CastRegion() virtual and implement a new CastRegion() for
RegionStore.
This CastRegion() performs casts according to the kind of the region being
cast instead of the type that is cast to.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71058
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 6 May 2009 02:12:32 +0000 (02:12 +0000)]
Add --analyze-auto.
- Currently just an alias for --analyze, eventually we want to refit
--analyze so that it is less automatic (i.e., does not force plist
output and does not hard code the list of checks).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71056
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 6 May 2009 00:14:14 +0000 (00:14 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71046
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 6 May 2009 00:10:37 +0000 (00:10 +0000)]
Override some pod2man defaults.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71045
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 5 May 2009 23:28:21 +0000 (23:28 +0000)]
Fixes a bug for objc2's gc in the presense of type-casts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71041
91177308 -0d34-0410-b5e6-
96231b3b80d8