Add support for the noreturn and nounwind function attributes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35258 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/Lexer.l b/lib/AsmParser/Lexer.l
index 3cd08e9..7c524a2 100644
--- a/lib/AsmParser/Lexer.l
+++ b/lib/AsmParser/Lexer.l
@@ -235,6 +235,8 @@
 
 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 8bd2f43..4271273 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -1078,7 +1078,7 @@
 %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 @@
               ;
 
 FuncAttr      : NORETURN { $$ = FunctionType::NoReturnAttribute; }
+              | NOUNWIND { $$ = FunctionType::NoUnwindAttribute; }
               | ParamAttr
               ;