summaryrefslogtreecommitdiffstats
path: root/llvm/lib/AsmParser
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-01-05 08:04:33 +0000
committerChris Lattner <sabre@nondot.org>2009-01-05 08:04:33 +0000
commitce473c7be059e216adc1854899d54907e3579fbc (patch)
tree0591a9d6367861320f49e2deefd1a6d898620ec0 /llvm/lib/AsmParser
parentfae73dd27f6ff97a506d6b22beced8043a5c1e24 (diff)
downloadbcm5719-llvm-ce473c7be059e216adc1854899d54907e3579fbc.tar.gz
bcm5719-llvm-ce473c7be059e216adc1854899d54907e3579fbc.zip
diagnose PR3281:crash02.ll with:
llvm-as: crash02.ll:1:62: invalid function return type declare { <{ <{}>, void ([1898 x { void ()* }], opaque, ...) (), fp128 * }>, opaque } @t () ^ llvm-svn: 61679
Diffstat (limited to 'llvm/lib/AsmParser')
-rw-r--r--llvm/lib/AsmParser/LLParser.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp
index 12bb659dda3..681a6622b3c 100644
--- a/llvm/lib/AsmParser/LLParser.cpp
+++ b/llvm/lib/AsmParser/LLParser.cpp
@@ -1136,6 +1136,9 @@ bool LLParser::ParseArgumentList(std::vector<ArgInfo> &ArgList,
bool LLParser::ParseFunctionType(PATypeHolder &Result) {
assert(Lex.getKind() == lltok::lparen);
+ if (!FunctionType::isValidReturnType(Result))
+ return TokError("invalid function return type");
+
std::vector<ArgInfo> ArgList;
bool isVarArg;
unsigned Attrs;
OpenPOWER on IntegriCloud