Ted Kremenek
f1282074c3
Move bug reporter "visitors" to their own file and make them part of the public
...
BugReporter API. No real functionality change.
llvm-svn: 76760
2009-07-22 17:55:28 +00:00
Fariborz Jahanian
5c14ec30cd
Allocate BaseOrMemberInitializers and CXXBaseSpecifier nodes
...
via ASTContext.
llvm-svn: 76758
2009-07-22 17:41:53 +00:00
Douglas Gregor
b09f3d82cc
Implement parsing and semantic analysis for out-of-line definitions of static
...
data members of class templates. We don't instantiate the definitions yet,
however.
llvm-svn: 76756
2009-07-22 17:18:37 +00:00
Steve Naroff
3de6b70730
Fix a couple recent ABI regressions noticed during code review (fallout from the ObjC type system rewrite).
...
It's unfortunate that the mangling includes the low-level structs. Nevertheless, we need this for binary compatibility with GCC.
llvm-svn: 76755
2009-07-22 17:14:51 +00:00
Eli Friedman
5173349565
Switch some functions from using x86 builtins to using vector
...
operations.
llvm-svn: 76753
2009-07-22 17:08:01 +00:00
Mike Stump
7a5eaf6dd4
Add some documentation, to make it so the next person doens't select
...
the wrong function. :-)
llvm-svn: 76752
2009-07-22 16:55:20 +00:00
Steve Naroff
51d4f79ffa
Fix <rdar://problem/6770276> Support Class<Proto> syntax.
...
llvm-svn: 76741
2009-07-22 16:07:01 +00:00
Douglas Gregor
a3a4dd5d03
Test template instantiation for member functions of class templates defined
...
out of line.
llvm-svn: 76740
2009-07-22 15:45:39 +00:00
Eli Friedman
5ac69057c0
Make vectorized floating-point comparisons work without crashing.
...
llvm-svn: 76726
2009-07-22 06:07:16 +00:00
Ted Kremenek
952a004298
Restructure ProgramPoint to have the 'Kind' value be its own instance
...
variable. This gives us much more flexibility with defining more
ProgramPoints, which is the direction we are heading. The removal of
various bit-mangling of pointers also cleans up the logic.
llvm-svn: 76721
2009-07-22 04:38:22 +00:00
Ted Kremenek
920ad71dab
Temporarily disable most use of region casts in RegionStoreManager,
...
instead preferring to use the a region's actual type when creating
symbols and using the QualType passed to Retrieve for implicit
casting. This preprocessor logic is temporary; eventually we will
either remove region casts or keep them.
Temporarily toggle (via preprocessor directives) that SymbolicRegions
with heap storage are not undefined, but instead should be
symbolicated. If we want to model that a SymbolicRegion is
uninitialized, we can explicitly model that by binding UndefinedVal to
that region. It turns out that we want to treat most heap objects as
being defined, not the other way around.
llvm-svn: 76720
2009-07-22 04:35:42 +00:00
Ted Kremenek
b2d0409d50
Fix a crasher in StoreManager::InvalidateRegion() caused by using the
...
'cast type' of a region to invalidate its binding. This only occurs
when using RegionStoreManager, as it records the cast type. I'm
currently considering removing the notion of a cast type (see
comments in code).
llvm-svn: 76719
2009-07-22 04:23:20 +00:00
Mon P Wang
acedf7768f
Preserve address space information through member accesses, e.g.,
...
__attribute__((address_space(1))) struct {int arr[ 3 ]; } *p1;
... = p1->arr[2]; // load from address space 1
llvm-svn: 76717
2009-07-22 03:08:17 +00:00
Mike Stump
18366cbe97
Remove an unneeded header.
...
llvm-svn: 76716
2009-07-22 01:39:14 +00:00
Mike Stump
753d120975
Prep for new warning.
...
llvm-svn: 76709
2009-07-22 00:43:08 +00:00
Fariborz Jahanian
891436d54c
Minor mod. per Doug's comment.
...
llvm-svn: 76708
2009-07-22 00:42:46 +00:00
Douglas Gregor
168190d822
Complain if we're entering the context of a dependent nested-name-specifier but
...
cannot match that nested-name-specifier to a class template or class template
partial specialization.
llvm-svn: 76704
2009-07-22 00:28:09 +00:00
Douglas Gregor
d8d297c0ac
Basic parsing and semantic analysis for out-of-line definitions of the
...
member functions of class templates, e.g.,
template<typename T>
struct X {
void f(T);
};
template<typename T> X<T>::f(T) { /* ... */ }
llvm-svn: 76692
2009-07-21 23:53:31 +00:00
Mike Stump
93a7ed1fc7
Revert this, we can now avoid error cascades better.
...
llvm-svn: 76691
2009-07-21 23:52:50 +00:00
Mike Stump
5c1acd1f33
Revert this, was a bug in my new warning code, not the test case.
...
llvm-svn: 76690
2009-07-21 23:50:15 +00:00
Mike Stump
0ab3c3deac
Revert this, we have a better way to do this.
...
llvm-svn: 76687
2009-07-21 23:47:12 +00:00
Mike Stump
d8679446a3
Revert this, we have a better way to handle this.
...
llvm-svn: 76685
2009-07-21 23:45:39 +00:00
Mike Stump
d7b9282e48
Revert recent change, I now have a better way to solve this (thanks Chris).
...
llvm-svn: 76681
2009-07-21 23:41:23 +00:00
Ted Kremenek
8be513822c
Fix long-lurking bug in ObjCSummaryCache revealed by Torok's recent memory
...
poisoning changes to DenseMap. We were using an iterator after it had been
invalidated by an insertion into the DenseMap.
llvm-svn: 76677
2009-07-21 23:27:57 +00:00
Mike Stump
bdbe099dd2
Prep for new warning.
...
llvm-svn: 76670
2009-07-21 22:54:02 +00:00
Fariborz Jahanian
aee31ac316
Patch to accomodate Doug's comment on default
...
destruction of base/members for each destructor AST.
llvm-svn: 76663
2009-07-21 22:36:06 +00:00
Ted Kremenek
c1986570ed
Remove stale comment and fix RUN line.
...
llvm-svn: 76656
2009-07-21 21:48:25 +00:00
Ted Kremenek
f0951f6d41
Add test case for PR 4596, which is already fixed due to Steve Naroff's overhaul of the Objective-C type system, but isn't in a checker build yet.
...
llvm-svn: 76648
2009-07-21 21:21:04 +00:00
Ted Kremenek
6dec002981
Patch by Stefan Bühler: Escape text in macro expansion when emitting HTML in the HTMLRewriter.
...
This fixes PR 4602.
llvm-svn: 76647
2009-07-21 21:16:46 +00:00
Ted Kremenek
4fd8f73c93
Update stale comment.
...
llvm-svn: 76644
2009-07-21 21:09:31 +00:00
Mike Stump
e303c9e468
Prep for new warning.
...
llvm-svn: 76643
2009-07-21 21:06:08 +00:00
Ted Kremenek
1e35dfac17
Reorder files.
...
llvm-svn: 76642
2009-07-21 21:03:50 +00:00
Ted Kremenek
ac7c7240f0
Fix PR 4594 by refactoring almost all casting logic from GRExprEngine::VisitCast
...
to SValuator::EvalCast. In the process, the StoreManagers now use this new cast
machinery, and the hack in GRExprEngine::EvalBind to handle implicit casts
involving OSAtomicCompareAndSwap and friends has been removed (and replaced with
logic closer to the logic specific to those functions).
llvm-svn: 76641
2009-07-21 21:03:30 +00:00
Mike Stump
df3f1447e4
Prep for new warning.
...
llvm-svn: 76640
2009-07-21 21:03:09 +00:00
Mike Stump
5e7869f63e
Prep for new warning.
...
llvm-svn: 76638
2009-07-21 20:52:43 +00:00
Mike Stump
087a3f7e0d
Prep for new warning.
...
llvm-svn: 76637
2009-07-21 20:50:41 +00:00
Daniel Dunbar
08e41d65a2
driver: Print --version on stdout, to match gcc.
...
- Patch by Jean-Daniel Dupas
llvm-svn: 76632
2009-07-21 20:06:58 +00:00
Eli Friedman
952c15dd52
Misc fixes for -Wreorder:
...
1. Make it work correctly with anonymous unions.
2. Don't compute it if the warning isn't enabled.
3. Optimize the algorithm slightly to make it linear time in the
case where we don't produce any warnings.
llvm-svn: 76630
2009-07-21 19:28:10 +00:00
Mike Stump
f4464156cf
Prep for new warning.
...
llvm-svn: 76628
2009-07-21 19:03:43 +00:00
Mike Stump
447351f1ff
Prep for new warning.
...
llvm-svn: 76627
2009-07-21 19:02:55 +00:00
Mike Stump
c4e34f2d8b
Prep for new warning.
...
llvm-svn: 76626
2009-07-21 19:01:48 +00:00
Mike Stump
d6fce57ba7
Prep for new warning.
...
llvm-svn: 76625
2009-07-21 19:01:31 +00:00
Mike Stump
414c3b435a
Prep for new warning.
...
llvm-svn: 76624
2009-07-21 19:01:01 +00:00
Mike Stump
a319fe36c3
Prep for new warning.
...
llvm-svn: 76623
2009-07-21 19:00:12 +00:00
Douglas Gregor
ddbf4e0c2c
Make Sema::ActOnCXXEnterDeclaratorScope robust against failures to compute
...
the declaration context, as occurs with out-of-line class template member
definitions.
llvm-svn: 76622
2009-07-21 18:59:28 +00:00
Mike Stump
3fe60b2118
Prep for new warning.
...
llvm-svn: 76621
2009-07-21 18:59:16 +00:00
Mike Stump
d74687fac6
Prep for new warning.
...
llvm-svn: 76620
2009-07-21 18:58:50 +00:00
Mike Stump
13876e914b
Prep for new warning.
...
llvm-svn: 76619
2009-07-21 18:58:15 +00:00
Mike Stump
4cac3e34e5
Prep for new warning.
...
llvm-svn: 76617
2009-07-21 18:57:14 +00:00
Mike Stump
5fbc72bfd5
Prep for new warning.
...
llvm-svn: 76616
2009-07-21 18:56:34 +00:00