mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-01-05 23:23:53 +00:00
Reject uses of unnamed_addr in declarations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123358 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -61,5 +61,31 @@ TEST(VerifierTest, AliasUnnamedAddr) {
|
||||
EXPECT_TRUE(StringRef(Error).startswith("Alias cannot have unnamed_addr"));
|
||||
}
|
||||
|
||||
TEST(VerifierTest, ExternalUnnamedAddr) {
|
||||
LLVMContext &C = getGlobalContext();
|
||||
Module M("M", C);
|
||||
const Type *Ty = Type::getInt8Ty(C);
|
||||
GlobalVariable *GV = new GlobalVariable(M, Ty, true,
|
||||
GlobalValue::ExternalLinkage,
|
||||
NULL, "foo");
|
||||
GV->setUnnamedAddr(true);
|
||||
std::string Error;
|
||||
EXPECT_TRUE(verifyModule(M, ReturnStatusAction, &Error));
|
||||
EXPECT_TRUE(StringRef(Error)
|
||||
.startswith("only definitions can have unnamed_addr"));
|
||||
}
|
||||
|
||||
TEST(VerifierTest, DeclarationUnnamedAddr) {
|
||||
LLVMContext &C = getGlobalContext();
|
||||
Module M("M", C);
|
||||
FunctionType *FTy = FunctionType::get(Type::getVoidTy(C), /*isVarArg=*/false);
|
||||
Function *F = Function::Create(FTy, GlobalValue::ExternalLinkage,
|
||||
"foo", &M);
|
||||
F->setUnnamedAddr(true);
|
||||
std::string Error;
|
||||
EXPECT_TRUE(verifyModule(M, ReturnStatusAction, &Error));
|
||||
EXPECT_TRUE(StringRef(Error)
|
||||
.startswith("only definitions can have unnamed_addr"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user