From a39dfd39e4836f1fdc49b970884523f0917c9080 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Thu, 22 Mar 2007 02:13:23 +0000 Subject: [PATCH] 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 --- lib/AsmParser/Lexer.l | 2 ++ lib/AsmParser/llvmAsmParser.y | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/AsmParser/Lexer.l b/lib/AsmParser/Lexer.l index 3cd08e9aeee..7c524a2ba5e 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 8bd2f432d8f..4271273573c 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -1078,7 +1078,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) { %token 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 ;