| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
ctor's initialization of bases and fields.
llvm-svn: 76776
|
|
|
|
|
|
|
|
|
|
| |
const T
can be matched with, e.g.,
volatile int [5]
llvm-svn: 76773
|
|
|
|
| |
llvm-svn: 76771
|
|
|
|
|
|
| |
This requires llvm rev. 76769 or higher.
llvm-svn: 76770
|
|
|
|
|
|
| |
[class.union]p1", from John McCall!
llvm-svn: 76766
|
|
|
|
|
|
| |
BugReporter API. No real functionality change.
llvm-svn: 76760
|
|
|
|
|
|
| |
via ASTContext.
llvm-svn: 76758
|
|
|
|
|
|
|
| |
data members of class templates. We don't instantiate the definitions yet,
however.
llvm-svn: 76756
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
operations.
llvm-svn: 76753
|
|
|
|
| |
llvm-svn: 76741
|
|
|
|
| |
llvm-svn: 76726
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
'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
|
|
|
|
|
|
|
| |
__attribute__((address_space(1))) struct {int arr[ 3 ]; } *p1;
... = p1->arr[2]; // load from address space 1
llvm-svn: 76717
|
|
|
|
| |
llvm-svn: 76716
|
|
|
|
| |
llvm-svn: 76708
|
|
|
|
|
|
|
| |
cannot match that nested-name-specifier to a class template or class template
partial specialization.
llvm-svn: 76704
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
poisoning changes to DenseMap. We were using an iterator after it had been
invalidated by an insertion into the DenseMap.
llvm-svn: 76677
|
|
|
|
|
|
| |
destruction of base/members for each destructor AST.
llvm-svn: 76663
|
|
|
|
|
|
|
|
| |
in the HTMLRewriter.
This fixes PR 4602.
llvm-svn: 76647
|
|
|
|
| |
llvm-svn: 76642
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
- Patch by Jean-Daniel Dupas
llvm-svn: 76632
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
the declaration context, as occurs with out-of-line class template member
definitions.
llvm-svn: 76622
|
|
|
|
| |
llvm-svn: 76599
|
|
|
|
|
|
| |
statement.
llvm-svn: 76583
|
|
|
|
| |
llvm-svn: 76577
|
|
|
|
|
|
| |
Zaffanella, with tweaks from Abramo Bagnara.
llvm-svn: 76576
|
|
|
|
| |
llvm-svn: 76547
|
|
|
|
| |
llvm-svn: 76546
|
|
|
|
| |
llvm-svn: 76534
|
|
|
|
| |
llvm-svn: 76532
|
|
|
|
| |
llvm-svn: 76531
|
|
|
|
| |
llvm-svn: 76530
|
|
|
|
| |
llvm-svn: 76529
|
|
|
|
| |
llvm-svn: 76522
|
|
|
|
|
|
|
|
|
|
| |
-refactor logic for retrieving bindings from VarDecls into
RegionStoreManager::RetrieveVar()
- improve RegionStoreManager::CastRetrievedVal() and SimpleSValuate::EvalCastNL
to better handle casts of values of the same canonical type as well as
casts of LocAsInteger values.
llvm-svn: 76516
|
|
|
|
|
|
|
|
|
|
| |
Entity can now refer to declarations that are not visible outside the translation unit.
It is a wrapper of a pointer union, it's either a Decl* for declarations that don't
"cross" translation units, or an EntityImpl* which is associated with the specific "visible" Decl.
Included is a test case for handling fields across translation units.
llvm-svn: 76515
|
|
|
|
| |
llvm-svn: 76514
|
|
|
|
|
|
|
| |
If it's in an ObjCContainerDecl, its "redeclaration" is the method definition in the corresponding ObjCImplDecl.
If it's in an ObjCImplDecl, its "redeclaration" is the method in the interface.
llvm-svn: 76512
|
|
|
|
|
|
| |
Use ObjCInterfaceDecl::getCategoryClassMethod() and ObjCInterfaceDecl::getCategoryInstanceMethod() for the same functionality.
llvm-svn: 76510
|
|
|
|
|
|
| |
ObjCInterfaceDecl::getImplementation().
llvm-svn: 76509
|
|
|
|
|
|
|
|
|
|
|
|
| |
ASTContext::setObjCImplementation() which use a DenseMap to associate
an interface/category with its implementation (if one exists).
- Introduce ObjCInterfaceDecl::get/setImplementation() and ObjCCategoryDecl::get/setImplementation() that use the above methods.
- Add a compiler error for when a category is reimplemented.
llvm-svn: 76508
|
|
|
|
| |
llvm-svn: 76507
|
|
|
|
|
|
| |
constant.
llvm-svn: 76500
|
|
|
|
| |
llvm-svn: 76498
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pointers.
Enhanced RegionStoreManager::Retrieve() to handle automatic casts when the
loaded value is different from the requested value. This should be refined over
time, but essentially we should always symbolicate locations as locations, and
convert them to non-locations on demand.
These changes now cause 'misc-ps.m' to pass again.
llvm-svn: 76497
|