summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/AsmParser/Lexer.l2
-rw-r--r--lib/AsmParser/llvmAsmParser.y3
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/AsmParser/Lexer.l b/lib/AsmParser/Lexer.l
index 3cd08e9aee..7c524a2ba5 100644
--- a/lib/AsmParser/Lexer.l
+++ b/lib/AsmParser/Lexer.l
@@ -235,6 +235,8 @@ x86_fastcallcc { return X86_FASTCALLCC_TOK; }
inreg { return INREG; }
sret { return SRET; }
+nounwind { return NOUNWIND; }
+noreturn { return NORETURN; }
void { RET_TY(Type::VoidTy, VOID); }
float { RET_TY(Type::FloatTy, FLOAT); }
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index 8bd2f432d8..4271273573 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -1078,7 +1078,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
%token <OtherOpVal> EXTRACTELEMENT INSERTELEMENT SHUFFLEVECTOR
// Function Attributes
-%token NORETURN INREG SRET
+%token NORETURN INREG SRET NOUNWIND
// Visibility Styles
%token DEFAULT HIDDEN
@@ -1204,6 +1204,7 @@ OptParamAttrs : /* empty */ { $$ = FunctionType::NoAttributeSet; }
;
FuncAttr : NORETURN { $$ = FunctionType::NoReturnAttribute; }
+ | NOUNWIND { $$ = FunctionType::NoUnwindAttribute; }
| ParamAttr
;