diff options
| author | Reid Spencer <rspencer@reidspencer.com> | 2007-03-22 02:13:23 +0000 |
|---|---|---|
| committer | Reid Spencer <rspencer@reidspencer.com> | 2007-03-22 02:13:23 +0000 |
| commit | a483577d2101b9a3c19ecf54f9f404d335e3fd0c (patch) | |
| tree | 1ba41e5fca0803d2e59550483756e50144487fc5 /llvm/lib | |
| parent | b0da7ed9c8bdbc54086b74accd68e56bb4366fe5 (diff) | |
| download | bcm5719-llvm-a483577d2101b9a3c19ecf54f9f404d335e3fd0c.tar.gz bcm5719-llvm-a483577d2101b9a3c19ecf54f9f404d335e3fd0c.zip | |
Add support for the noreturn and nounwind function attributes.
llvm-svn: 35258
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/AsmParser/Lexer.l | 2 | ||||
| -rw-r--r-- | llvm/lib/AsmParser/llvmAsmParser.y | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/AsmParser/Lexer.l b/llvm/lib/AsmParser/Lexer.l index 3cd08e9aeee..7c524a2ba5e 100644 --- a/llvm/lib/AsmParser/Lexer.l +++ b/llvm/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/llvm/lib/AsmParser/llvmAsmParser.y b/llvm/lib/AsmParser/llvmAsmParser.y index 8bd2f432d8f..4271273573c 100644 --- a/llvm/lib/AsmParser/llvmAsmParser.y +++ b/llvm/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 ; |

