mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 00:32:55 +00:00
Rip out the old StructType APIs as warned about on llvmdev last week.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137953 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6ea80e964b
commit
489fee1b64
@ -224,20 +224,6 @@ public:
|
||||
static StructType *create(LLVMContext &Context, ArrayRef<Type*> Elements);
|
||||
static StructType *create(StringRef Name, Type *elt1, ...) END_WITH_NULL;
|
||||
|
||||
#if 1
|
||||
// FIXME: Remove these.
|
||||
bool isAnonymous() const {return (getSubclassData() & SCDB_IsLiteral) != 0;}
|
||||
static StructType *createNamed(LLVMContext &Context,
|
||||
StringRef Name);
|
||||
|
||||
static StructType *createNamed(StringRef Name, ArrayRef<Type*> Elements,
|
||||
bool isPacked = false);
|
||||
static StructType *createNamed(LLVMContext &Context, StringRef Name,
|
||||
ArrayRef<Type*> Elements,
|
||||
bool isPacked = false);
|
||||
static StructType *createNamed(StringRef Name, Type *elt1, ...) END_WITH_NULL;
|
||||
#endif
|
||||
|
||||
/// StructType::get - This static method is the primary way to create a
|
||||
/// literal StructType.
|
||||
static StructType *get(LLVMContext &Context, ArrayRef<Type*> Elements,
|
||||
|
@ -521,44 +521,6 @@ StructType *StructType::create(StringRef Name, Type *type, ...) {
|
||||
}
|
||||
|
||||
|
||||
#if 1
|
||||
|
||||
StructType *StructType::createNamed(LLVMContext &Context, StringRef Name,
|
||||
ArrayRef<Type*> Elements, bool isPacked) {
|
||||
StructType *ST = createNamed(Context, Name);
|
||||
ST->setBody(Elements, isPacked);
|
||||
return ST;
|
||||
}
|
||||
|
||||
StructType *StructType::createNamed(LLVMContext &Context, StringRef Name) {
|
||||
StructType *ST = new (Context.pImpl->TypeAllocator) StructType(Context);
|
||||
if (!Name.empty())
|
||||
ST->setName(Name);
|
||||
return ST;
|
||||
}
|
||||
|
||||
|
||||
StructType *StructType::createNamed(StringRef Name, ArrayRef<Type*> Elements,
|
||||
bool isPacked) {
|
||||
assert(!Elements.empty() &&
|
||||
"This method may not be invoked with an empty list");
|
||||
return createNamed(Elements[0]->getContext(), Name, Elements, isPacked);
|
||||
}
|
||||
|
||||
StructType *StructType::createNamed(StringRef Name, Type *type, ...) {
|
||||
assert(type != 0 && "Cannot create a struct type with no elements with this");
|
||||
LLVMContext &Ctx = type->getContext();
|
||||
va_list ap;
|
||||
SmallVector<llvm::Type*, 8> StructFields;
|
||||
va_start(ap, type);
|
||||
while (type) {
|
||||
StructFields.push_back(type);
|
||||
type = va_arg(ap, llvm::Type*);
|
||||
}
|
||||
return llvm::StructType::createNamed(Ctx, Name, StructFields);
|
||||
}
|
||||
#endif
|
||||
|
||||
StringRef StructType::getName() const {
|
||||
assert(!isLiteral() && "Literal structs never have names");
|
||||
if (SymbolTableEntry == 0) return StringRef();
|
||||
|
Loading…
x
Reference in New Issue
Block a user