Add support for the noreturn and nounwind function attributes.
authorReid Spencer <rspencer@reidspencer.com>
Thu, 22 Mar 2007 02:13:23 +0000 (02:13 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Thu, 22 Mar 2007 02:13:23 +0000 (02:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35258 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/Lexer.l
lib/AsmParser/llvmAsmParser.y

index 3cd08e9aeeeb0820eaf93f3e2aa697dac9c6f701..7c524a2ba5e58a64b8162def43082a51e17e01c4 100644 (file)
@@ -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); }
index 8bd2f432d8f028e32c23a928820991687466c3d8..4271273573c280eb232fe82e630f888412c33325 100644 (file)
@@ -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
               ;