summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2009-06-07 01:45:11 +0000
committerNick Lewycky <nicholas@mxc.ca>2009-06-07 01:45:11 +0000
commit8b165afabec352f0a50977dfcfccd2061b662da9 (patch)
treecfd0ef4a9e548eebb86aa44126be12cbc3359f6c /llvm/lib
parentbe1bb0f8b164e2a3b87348ecb35c0a07b2c94476 (diff)
downloadbcm5719-llvm-8b165afabec352f0a50977dfcfccd2061b662da9.tar.gz
bcm5719-llvm-8b165afabec352f0a50977dfcfccd2061b662da9.zip
Refuse metadata* type for function arguments.
llvm-svn: 73010
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/AsmParser/LLParser.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp
index 5c4450244c1..4759d6f19de 100644
--- a/llvm/lib/AsmParser/LLParser.cpp
+++ b/llvm/lib/AsmParser/LLParser.cpp
@@ -1149,7 +1149,9 @@ bool LLParser::ParseArgumentList(std::vector<ArgInfo> &ArgList,
Lex.Lex();
}
- if (!ArgTy->isFirstClassType() && !isa<OpaqueType>(ArgTy))
+ if ((!ArgTy->isFirstClassType() && !isa<OpaqueType>(ArgTy)) ||
+ (isa<PointerType>(ArgTy) &&
+ cast<PointerType>(ArgTy)->getElementType() == Type::MetadataTy))
return Error(TypeLoc, "invalid type for function argument");
ArgList.push_back(ArgInfo(TypeLoc, ArgTy, Attrs, Name));
OpenPOWER on IntegriCloud