|
@@ -659,6 +659,7 @@ public:
|
|
|
|
|
|
class AttributePool {
|
|
class AttributePool {
|
|
friend class AttributeFactory;
|
|
friend class AttributeFactory;
|
|
|
|
+ friend class ParsedAttributes;
|
|
AttributeFactory &Factory;
|
|
AttributeFactory &Factory;
|
|
llvm::TinyPtrVector<ParsedAttr *> Attrs;
|
|
llvm::TinyPtrVector<ParsedAttr *> Attrs;
|
|
|
|
|
|
@@ -892,6 +893,13 @@ public:
|
|
pool.takeAllFrom(attrs.pool);
|
|
pool.takeAllFrom(attrs.pool);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ void takeOneFrom(ParsedAttributes &Attrs, ParsedAttr *PA) {
|
|
|
|
+ Attrs.getPool().remove(PA);
|
|
|
|
+ Attrs.remove(PA);
|
|
|
|
+ getPool().add(PA);
|
|
|
|
+ addAtEnd(PA);
|
|
|
|
+ }
|
|
|
|
+
|
|
void clear() {
|
|
void clear() {
|
|
clearListOnly();
|
|
clearListOnly();
|
|
pool.clear();
|
|
pool.clear();
|