| 1479 | |
| 1480 | |
| 1481 | bool hasPtr(const Type &t) { |
| 1482 | if (t.isPtrType()) |
| 1483 | return true; |
| 1484 | |
| 1485 | if (auto agg = t.getAsAggregateType()) { |
| 1486 | for (unsigned i = 0, e = agg->numElementsConst(); i != e; ++i) { |
| 1487 | if (hasPtr(agg->getChild(i))) |
| 1488 | return true; |
| 1489 | } |
| 1490 | } |
| 1491 | return false; |
| 1492 | } |
| 1493 | |
| 1494 | bool isNonPtrVector(const Type &t) { |
| 1495 | auto vty = dynamic_cast<const VectorType *>(&t); |
no test coverage detected