Return CodeTextRegions for BlockPointerTypes in addition to FunctionPointerTypes.
llvm-svn: 76287
This commit is contained in:
parent
38e46c46b4
commit
2c8a159b7d
|
@ -73,9 +73,9 @@ SVal ValueManager::getRegionValueSymbolVal(const MemRegion* R, QualType T) {
|
|||
if (T.isNull())
|
||||
T = TR->getValueType(SymMgr.getContext());
|
||||
|
||||
// If T is of function pointer type, create a CodeTextRegion wrapping a
|
||||
// symbol.
|
||||
if (T->isFunctionPointerType()) {
|
||||
// If T is of function pointer type or a block pointer type, create a
|
||||
// CodeTextRegion wrapping that symbol.
|
||||
if (T->isFunctionPointerType() || T->isBlockPointerType()) {
|
||||
return loc::MemRegionVal(MemMgr.getCodeTextRegion(sym, T));
|
||||
}
|
||||
|
||||
|
@ -94,9 +94,9 @@ SVal ValueManager::getConjuredSymbolVal(const Expr* E, unsigned Count) {
|
|||
QualType T = E->getType();
|
||||
SymbolRef sym = SymMgr.getConjuredSymbol(E, Count);
|
||||
|
||||
// If T is of function pointer type, create a CodeTextRegion wrapping a
|
||||
// symbol.
|
||||
if (T->isFunctionPointerType()) {
|
||||
// If T is of function pointer type or a block pointer type, create a
|
||||
// CodeTextRegion wrapping a symbol.
|
||||
if (T->isFunctionPointerType() || T->isBlockPointerType()) {
|
||||
return loc::MemRegionVal(MemMgr.getCodeTextRegion(sym, T));
|
||||
}
|
||||
|
||||
|
@ -114,9 +114,9 @@ SVal ValueManager::getConjuredSymbolVal(const Expr* E, QualType T,
|
|||
|
||||
SymbolRef sym = SymMgr.getConjuredSymbol(E, T, Count);
|
||||
|
||||
// If T is of function pointer type, create a CodeTextRegion wrapping a
|
||||
// symbol.
|
||||
if (T->isFunctionPointerType()) {
|
||||
// If T is of function pointer type or a block pointer type, create a
|
||||
// CodeTextRegion wrapping a symbol.
|
||||
if (T->isFunctionPointerType() || T->isBlockPointerType()) {
|
||||
return loc::MemRegionVal(MemMgr.getCodeTextRegion(sym, T));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue